|  |  |  | @ -22,49 +22,51 @@ package params | 
		
	
		
			
				|  |  |  |  | import "math/big" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | var ( | 
		
	
		
			
				|  |  |  |  | 	MaximumExtraDataSize   = big.NewInt(1024)    // Maximum size extra data may be after Genesis.
 | 
		
	
		
			
				|  |  |  |  | 	ExpByteGas             = big.NewInt(10)      // Times ceil(log256(exponent)) for the EXP instruction.
 | 
		
	
		
			
				|  |  |  |  | 	SloadGas               = big.NewInt(50)      // Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added.
 | 
		
	
		
			
				|  |  |  |  | 	CallValueTransferGas   = big.NewInt(9000)    // Paid for CALL when the value transfor is non-zero.
 | 
		
	
		
			
				|  |  |  |  | 	CallNewAccountGas      = big.NewInt(25000)   // Paid for CALL when the destination address didn't exist prior.
 | 
		
	
		
			
				|  |  |  |  | 	TxGas                  = big.NewInt(21000)   // Per transaction. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | 	TxDataZeroGas          = big.NewInt(4)       // Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | 	GenesisGasLimit        = big.NewInt(3141592) // Gas limit of the Genesis block.
 | 
		
	
		
			
				|  |  |  |  | 	DifficultyBoundDivisor = big.NewInt(2048)    // The bound divisor of the difficulty, used in the update calculations.
 | 
		
	
		
			
				|  |  |  |  | 	QuadCoeffDiv           = big.NewInt(512)     // Divisor for the quadratic particle of the memory cost equation.
 | 
		
	
		
			
				|  |  |  |  | 	GenesisDifficulty      = big.NewInt(131072)  // Difficulty of the Genesis block.
 | 
		
	
		
			
				|  |  |  |  | 	DurationLimit          = big.NewInt(8)       // The decision boundary on the blocktime duration used to determine whether difficulty should go up or not.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreSetGas           = big.NewInt(20000)   // Once per SLOAD operation.
 | 
		
	
		
			
				|  |  |  |  | 	LogDataGas             = big.NewInt(8)       // Per byte in a LOG* operation's data.
 | 
		
	
		
			
				|  |  |  |  | 	CallStipend            = big.NewInt(2300)    // Free gas given at beginning of call.
 | 
		
	
		
			
				|  |  |  |  | 	EcrecoverGas           = big.NewInt(3000)    //
 | 
		
	
		
			
				|  |  |  |  | 	Sha256WordGas          = big.NewInt(12)      //
 | 
		
	
		
			
				|  |  |  |  | 	MinGasLimit            = big.NewInt(125000)  // Minimum the gas limit may ever be.
 | 
		
	
		
			
				|  |  |  |  | 	Sha3Gas                = big.NewInt(30)      // Once per SHA3 operation.
 | 
		
	
		
			
				|  |  |  |  | 	Sha256Gas              = big.NewInt(60)      //
 | 
		
	
		
			
				|  |  |  |  | 	IdentityWordGas        = big.NewInt(3)       //
 | 
		
	
		
			
				|  |  |  |  | 	Sha3WordGas            = big.NewInt(6)       // Once per word of the SHA3 operation's data.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreResetGas         = big.NewInt(5000)    // Once per SSTORE operation if the zeroness changes from zero.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreClearGas         = big.NewInt(5000)    // Once per SSTORE operation if the zeroness doesn't change.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreRefundGas        = big.NewInt(15000)   // Once per SSTORE operation if the zeroness changes to zero.
 | 
		
	
		
			
				|  |  |  |  | 	JumpdestGas            = big.NewInt(1)       // Refunded gas, once per SSTORE operation if the zeroness changes to zero.
 | 
		
	
		
			
				|  |  |  |  | 	IdentityGas            = big.NewInt(15)      //
 | 
		
	
		
			
				|  |  |  |  | 	GasLimitBoundDivisor   = big.NewInt(1024)    // The bound divisor of the gas limit, used in update calculations.
 | 
		
	
		
			
				|  |  |  |  | 	EpochDuration          = big.NewInt(30000)   // Duration between proof-of-work epochs.
 | 
		
	
		
			
				|  |  |  |  | 	CallGas                = big.NewInt(40)      // Once per CALL operation & message call transaction.
 | 
		
	
		
			
				|  |  |  |  | 	CreateDataGas          = big.NewInt(200)     //
 | 
		
	
		
			
				|  |  |  |  | 	Ripemd160Gas           = big.NewInt(600)     //
 | 
		
	
		
			
				|  |  |  |  | 	Ripemd160WordGas       = big.NewInt(120)     //
 | 
		
	
		
			
				|  |  |  |  | 	MinimumDifficulty      = big.NewInt(131072)  // The minimum that the difficulty may ever be.
 | 
		
	
		
			
				|  |  |  |  | 	CallCreateDepth        = big.NewInt(1024)    // Maximum depth of call/create stack.
 | 
		
	
		
			
				|  |  |  |  | 	ExpGas                 = big.NewInt(10)      // Once per EXP instuction.
 | 
		
	
		
			
				|  |  |  |  | 	LogGas                 = big.NewInt(375)     // Per LOG* operation.
 | 
		
	
		
			
				|  |  |  |  | 	CopyGas                = big.NewInt(3)       //
 | 
		
	
		
			
				|  |  |  |  | 	StackLimit             = big.NewInt(1024)    // Maximum size of VM stack allowed.
 | 
		
	
		
			
				|  |  |  |  | 	TierStepGas            = big.NewInt(0)       // Once per operation, for a selection of them.
 | 
		
	
		
			
				|  |  |  |  | 	LogTopicGas            = big.NewInt(375)     // Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas.
 | 
		
	
		
			
				|  |  |  |  | 	CreateGas              = big.NewInt(32000)   // Once per CREATE operation & contract-creation transaction.
 | 
		
	
		
			
				|  |  |  |  | 	SuicideRefundGas       = big.NewInt(24000)   // Refunded following a suicide operation.
 | 
		
	
		
			
				|  |  |  |  | 	MemoryGas              = big.NewInt(3)       // Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL.
 | 
		
	
		
			
				|  |  |  |  | 	TxDataNonZeroGas       = big.NewInt(68)      // Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | 	MaximumExtraDataSize   = big.NewInt(1024)   // Maximum size extra data may be after Genesis.
 | 
		
	
		
			
				|  |  |  |  | 	ExpByteGas             = big.NewInt(10)     // Times ceil(log256(exponent)) for the EXP instruction.
 | 
		
	
		
			
				|  |  |  |  | 	SloadGas               = big.NewInt(50)     // Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added.
 | 
		
	
		
			
				|  |  |  |  | 	CallValueTransferGas   = big.NewInt(9000)   // Paid for CALL when the value transfor is non-zero.
 | 
		
	
		
			
				|  |  |  |  | 	CallNewAccountGas      = big.NewInt(25000)  // Paid for CALL when the destination address didn't exist prior.
 | 
		
	
		
			
				|  |  |  |  | 	TxGas                  = big.NewInt(21000)  // Per transaction. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | 	TxDataZeroGas          = big.NewInt(4)      // Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | 	DifficultyBoundDivisor = big.NewInt(2048)   // The bound divisor of the difficulty, used in the update calculations.
 | 
		
	
		
			
				|  |  |  |  | 	QuadCoeffDiv           = big.NewInt(512)    // Divisor for the quadratic particle of the memory cost equation.
 | 
		
	
		
			
				|  |  |  |  | 	GenesisDifficulty      = big.NewInt(131072) // Difficulty of the Genesis block.
 | 
		
	
		
			
				|  |  |  |  | 	DurationLimit          = big.NewInt(8)      // The decision boundary on the blocktime duration used to determine whether difficulty should go up or not.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreSetGas           = big.NewInt(20000)  // Once per SLOAD operation.
 | 
		
	
		
			
				|  |  |  |  | 	LogDataGas             = big.NewInt(8)      // Per byte in a LOG* operation's data.
 | 
		
	
		
			
				|  |  |  |  | 	CallStipend            = big.NewInt(2300)   // Free gas given at beginning of call.
 | 
		
	
		
			
				|  |  |  |  | 	EcrecoverGas           = big.NewInt(3000)   //
 | 
		
	
		
			
				|  |  |  |  | 	Sha256WordGas          = big.NewInt(12)     //
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 	MinGasLimit     = big.NewInt(5000) // Minimum the gas limit may ever be.
 | 
		
	
		
			
				|  |  |  |  | 	GenesisGasLimit = big.NewInt(5000) // Gas limit of the Genesis block.
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 	Sha3Gas              = big.NewInt(30)     // Once per SHA3 operation.
 | 
		
	
		
			
				|  |  |  |  | 	Sha256Gas            = big.NewInt(60)     //
 | 
		
	
		
			
				|  |  |  |  | 	IdentityWordGas      = big.NewInt(3)      //
 | 
		
	
		
			
				|  |  |  |  | 	Sha3WordGas          = big.NewInt(6)      // Once per word of the SHA3 operation's data.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreResetGas       = big.NewInt(5000)   // Once per SSTORE operation if the zeroness changes from zero.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreClearGas       = big.NewInt(5000)   // Once per SSTORE operation if the zeroness doesn't change.
 | 
		
	
		
			
				|  |  |  |  | 	SstoreRefundGas      = big.NewInt(15000)  // Once per SSTORE operation if the zeroness changes to zero.
 | 
		
	
		
			
				|  |  |  |  | 	JumpdestGas          = big.NewInt(1)      // Refunded gas, once per SSTORE operation if the zeroness changes to zero.
 | 
		
	
		
			
				|  |  |  |  | 	IdentityGas          = big.NewInt(15)     //
 | 
		
	
		
			
				|  |  |  |  | 	GasLimitBoundDivisor = big.NewInt(1024)   // The bound divisor of the gas limit, used in update calculations.
 | 
		
	
		
			
				|  |  |  |  | 	EpochDuration        = big.NewInt(30000)  // Duration between proof-of-work epochs.
 | 
		
	
		
			
				|  |  |  |  | 	CallGas              = big.NewInt(40)     // Once per CALL operation & message call transaction.
 | 
		
	
		
			
				|  |  |  |  | 	CreateDataGas        = big.NewInt(200)    //
 | 
		
	
		
			
				|  |  |  |  | 	Ripemd160Gas         = big.NewInt(600)    //
 | 
		
	
		
			
				|  |  |  |  | 	Ripemd160WordGas     = big.NewInt(120)    //
 | 
		
	
		
			
				|  |  |  |  | 	MinimumDifficulty    = big.NewInt(131072) // The minimum that the difficulty may ever be.
 | 
		
	
		
			
				|  |  |  |  | 	CallCreateDepth      = big.NewInt(1024)   // Maximum depth of call/create stack.
 | 
		
	
		
			
				|  |  |  |  | 	ExpGas               = big.NewInt(10)     // Once per EXP instuction.
 | 
		
	
		
			
				|  |  |  |  | 	LogGas               = big.NewInt(375)    // Per LOG* operation.
 | 
		
	
		
			
				|  |  |  |  | 	CopyGas              = big.NewInt(3)      //
 | 
		
	
		
			
				|  |  |  |  | 	StackLimit           = big.NewInt(1024)   // Maximum size of VM stack allowed.
 | 
		
	
		
			
				|  |  |  |  | 	TierStepGas          = big.NewInt(0)      // Once per operation, for a selection of them.
 | 
		
	
		
			
				|  |  |  |  | 	LogTopicGas          = big.NewInt(375)    // Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas.
 | 
		
	
		
			
				|  |  |  |  | 	CreateGas            = big.NewInt(32000)  // Once per CREATE operation & contract-creation transaction.
 | 
		
	
		
			
				|  |  |  |  | 	SuicideRefundGas     = big.NewInt(24000)  // Refunded following a suicide operation.
 | 
		
	
		
			
				|  |  |  |  | 	MemoryGas            = big.NewInt(3)      // Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL.
 | 
		
	
		
			
				|  |  |  |  | 	TxDataNonZeroGas     = big.NewInt(68)     // Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions.
 | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
	
		
			
				
					
					| 
							
							
							
						 |  |  | 
 |