aboutsummaryrefslogblamecommitdiff
path: root/plugin/evm/service.go
blob: 128b98eb34d0dcec3e8818dd7bcaaa976491621b (plain) (tree)
1
2
3
4
5
6
7
8
9
10






                                                     
                

                  

                  
 
                                             
                                             



                                                          


                                                          
                                             


       
                                 







                                                                                              


                                                                  

                                                       
 






                                                                    
                                                                                               
















                                                                                              
                          
                                                              
                                       


                                   









                                                                             

                                                   


                                                         
                                                                                                      
                                         
 
                                                     



                                                                                        



                                                                                         

                        
                            

                                       
                                                                            
         
                                                                                                  
                                                        
                  








                                                    
                                                                                                       
                                                                                   
 


                                                                                             
 





                                                                                           
                                             
                                                                      
                       
                                                                         
         
                                                   
 
                                        
                                                           










                                                                                    


                  

                                                            
                    



                                               



                                                           




                                                                                                     
                                                                        
                                                    
                                                                                                 
                                          




                                                                                          
 
                                           



                                                                                        




                                                                                    
                        
 
                            




                                                                                      
                                                                






                                     




                                                 


                                       






                                                                                  
                                                          
                                                              
                                                                                                         



















                                                                                                 














                                                                                         

                        







                                                                                           
                                               











                                                                            
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
// See the file LICENSE for licensing terms.

package evm

import (
	"context"
	"errors"
	"fmt"
	"math/big"
	"net/http"
	"strings"

	"github.com/ava-labs/avalanchego/api"
	"github.com/ava-labs/avalanchego/ids"
	"github.com/ava-labs/avalanchego/utils/constants"
	"github.com/ava-labs/avalanchego/utils/crypto"
	"github.com/ava-labs/avalanchego/utils/formatting"
	"github.com/ava-labs/avalanchego/utils/json"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/common/hexutil"
	ethcrypto "github.com/ethereum/go-ethereum/crypto"
	"github.com/ethereum/go-ethereum/log"
)

const (
	version = "coreth-v0.3.7"
)

// test constants
const (
	GenesisTestAddr = "0x751a0b96e1042bee789452ecb20253fba40dbe85"
	GenesisTestKey  = "0xabd71b35d559563fea757f0f5edbde286fb8c043105b15abb7cd57189306d7d1"
)

// SnowmanAPI introduces snowman specific functionality to the evm
type SnowmanAPI struct{ vm *VM }

// AvaxAPI offers Avalanche network related API methods
type AvaxAPI struct{ vm *VM }

// Web3API offers helper API methods
type Web3API struct{}

// ClientVersion returns the version of the vm running
func (s *Web3API) ClientVersion() string { return version }

// Sha3