aboutsummaryrefslogblamecommitdiff
path: root/plugin/evm/vm.go
blob: 1010d60a1b015e70eaae9f8d88b9fc1fbbc1852d (plain) (tree)
1
2
3
4
5
6
7





                                                     
               










                                         
                                               



                                                
                                             

                                             
 
                                             





                                                          

                                                      
                                               

                                                      



                                                                
     

                                             

                                             

 















                                                



                        





                                                                        
                                                       
                                                             








                                                    














                                                        





                                              
                                     






















                                                      




                                






































                                                                               
                                                                       

































































































                                                                                                  
                                                       














                                                                                                
                        



                  







                                                                         
                                                    
                                
                          
                          



                              
                  































                                                                


                                            
                                    
                                           

                                                                                               

                                           
                        
                                               
































                                                                  



















                                                                                                              







                                                                                 
                                                           

                                                 
                                                                                                
                                                    
                                                                                                                                







                                                                         

                                                                                                                                























































































































































                                                                                     


















                                                                                  
                                              


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

package evm

import (
	"bytes"
	"crypto/rand"
	"encoding/json"
	"errors"
	"fmt"
	"math/big"
	"sync"
	"sync/atomic"
	"time"

	"github.com/ava-labs/coreth"
	"github.com/ava-labs/coreth/core"
	"github.com/ava-labs/coreth/core/types"
	"github.com/ava-labs/coreth/eth"
	"github.com/ava-labs/coreth/node"

	"github.com/ava-labs/go-ethereum/common"
	"github.com/ava-labs/go-ethereum/rlp"
	"github.com/ava-labs/go-ethereum/rpc"
	avarpc "github.com/gorilla/rpc/v2"

	"github.com/ava-labs/gecko/api/admin"
	"github.com/ava-labs/gecko/cache"
	"github.com/ava-labs/gecko/database"
	"github.com/ava-labs/gecko/ids"
	"github.com/ava-labs/gecko/snow"
	"github.com/ava-labs/gecko/snow/choices"
	"github.com/ava-labs/gecko/snow/consensus/snowman"
	"github.com/ava-labs/gecko/utils/codec"
	avajson "github.com/ava-labs/gecko/utils/json"
	"github.com/ava-labs/gecko/utils/timer"
	"github.com/ava-labs/gecko/utils/wrappers"
	"github.com/ava-labs/gecko/vms/components/ava"

	commonEng "github.com/ava-labs/gecko/snow/engine/common"
)

var (
	zeroAddr = common.Address{
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0