a3spow

package module
v0.0.0-...-d80a870 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2023 License: MIT Imports: 18 Imported by: 0

README

a3spow

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FactoryAddress = common.HexToAddress("0x04c87b76b73ed706d4aac567e3adccb994591b1b")
	WalletByteCode = common.FromHex("60a060405234801561001057600080fd5b50604051610f48380380610f48833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b608051610e2a61011e60003960008181610285015261035c0152610e2a6000f3fe6080604052600436106100745760003560e01c8063bc197c811161004e578063bc197c8114610125578063c45a015514610162578063dfec09e11461018d578063f23a6e61146101ca5761007b565b806301ffc9a7146100805780630605062f146100bd578063150b7a02146100e85761007b565b3661007b57005b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a2919061059f565b610207565b6040516100b491906105e7565b60405180910390f35b3480156100c957600080fd5b506100d2610281565b6040516100df9190610643565b60405180910390f35b3480156100f457600080fd5b5061010f600480360381019061010a9190610806565b610331565b60405161011c9190610898565b60405180910390f35b34801561013157600080fd5b5061014c6004803603810190610147919061097b565b610345565b6040516101599190610898565b60405180910390f35b34801561016e57600080fd5b5061017761035a565b6040516101849190610643565b60405180910390f35b34801561019957600080fd5b506101b460048036038101906101af9190610aa5565b61037e565b6040516101c19190610ba1565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec9190610bc3565b6104b4565b6040516101fe9190610898565b60405180910390f35b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061027a5750610279826104c9565b5b9050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663798fff58306040518263ffffffff1660e01b81526004016102dc9190610643565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610c6f565b905090565b600063150b7a0260e01b9050949350505050565b600063bc197c8160e01b905095945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610388610281565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ec90610cf9565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16848787604051610420929190610d49565b60006040518083038185875af1925050503d806000811461045d576040519150601f19603f3d011682016040523d82523d6000602084013e610462565b606091505b5091509150816104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90610dd4565b60405180910390fd5b8092505050949350505050565b600063f23a6e6160e01b905095945050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61057c81610547565b811461058757600080fd5b50565b60008135905061059981610573565b92915050565b6000602082840312156105b5576105b461053d565b5b60006105c38482850161058a565b91505092915050565b60008115159050919050565b6105e1816105cc565b82525050565b60006020820190506105fc60008301846105d8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061062d82610602565b9050919050565b61063d81610622565b82525050565b60006020820190506106586000830184610634565b92915050565b61066781610622565b811461067257600080fd5b50565b6000813590506106848161065e565b92915050565b6000819050919050565b61069d8161068a565b81146106a857600080fd5b50565b6000813590506106ba81610694565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610713826106ca565b810181811067ffffffffffffffff82111715610732576107316106db565b5b80604052505050565b6000610745610533565b9050610751828261070a565b919050565b600067ffffffffffffffff821115610771576107706106db565b5b61077a826106ca565b9050602081019050919050565b82818337600083830152505050565b60006107a96107a484610756565b61073b565b9050828152602081018484840111156107c5576107c46106c5565b5b6107d0848285610787565b509392505050565b600082601f8301126107ed576107ec6106c0565b5b81356107fd848260208601610796565b91505092915050565b600080600080608085870312156108205761081f61053d565b5b600061082e87828801610675565b945050602061083f87828801610675565b9350506040610850878288016106ab565b925050606085013567ffffffffffffffff81111561087157610870610542565b5b61087d878288016107d8565b91505092959194509250565b61089281610547565b82525050565b60006020820190506108ad6000830184610889565b92915050565b600067ffffffffffffffff8211156108ce576108cd6106db565b5b602082029050602081019050919050565b600080fd5b60006108f76108f2846108b3565b61073b565b9050808382526020820190506020840283018581111561091a576109196108df565b5b835b81811015610943578061092f88826106ab565b84526020840193505060208101905061091c565b5050509392505050565b600082601f830112610962576109616106c0565b5b81356109728482602086016108e4565b91505092915050565b600080600080600060a086880312156109975761099661053d565b5b60006109a588828901610675565b95505060206109b688828901610675565b945050604086013567ffffffffffffffff8111156109d7576109d6610542565b5b6109e38882890161094d565b935050606086013567ffffffffffffffff811115610a0457610a03610542565b5b610a108882890161094d565b925050608086013567ffffffffffffffff811115610a3157610a30610542565b5b610a3d888289016107d8565b9150509295509295909350565b600080fd5b60008083601f840112610a6557610a646106c0565b5b8235905067ffffffffffffffff811115610a8257610a81610a4a565b5b602083019150836001820283011115610a9e57610a9d6108df565b5b9250929050565b60008060008060608587031215610abf57610abe61053d565b5b6000610acd87828801610675565b945050602085013567ffffffffffffffff811115610aee57610aed610542565b5b610afa87828801610a4f565b93509350506040610b0d878288016106ab565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b53578082015181840152602081019050610b38565b83811115610b62576000848401525b50505050565b6000610b7382610b19565b610b7d8185610b24565b9350610b8d818560208601610b35565b610b96816106ca565b840191505092915050565b60006020820190508181036000830152610bbb8184610b68565b905092915050565b600080600080600060a08688031215610bdf57610bde61053d565b5b6000610bed88828901610675565b9550506020610bfe88828901610675565b9450506040610c0f888289016106ab565b9350506060610c20888289016106ab565b925050608086013567ffffffffffffffff811115610c4157610c40610542565b5b610c4d888289016107d8565b9150509295509295909350565b600081519050610c698161065e565b92915050565b600060208284031215610c8557610c8461053d565b5b6000610c9384828501610c5a565b91505092915050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b6000610ce3601383610c9c565b9150610cee82610cad565b602082019050919050565b60006020820190508181036000830152610d1281610cd6565b9050919050565b600081905092915050565b6000610d308385610d19565b9350610d3d838584610787565b82840190509392505050565b6000610d56828486610d24565b91508190509392505050565b7f41335350726f746f636f6c3a2047656e6572616c2063616c6c2071756572792060008201527f6661696c65642e00000000000000000000000000000000000000000000000000602082015250565b6000610dbe602783610c9c565b9150610dc982610d62565b604082019050919050565b60006020820190508181036000830152610ded81610db1565b905091905056fea2646970667358221220f90d794d7e8e256610451322199135847c4dd85da67173e679f0bf3f3693fe1964736f6c6343000809003300000000000000000000000004c87b76b73ed706d4aac567e3adccb994591b1b")
	WalletByteHash = crypto.Keccak256(WalletByteCode)
)

Functions

func GetAddress

func GetAddress(owner common.Address, salt [32]byte) common.Address

func GetHdAddress

func GetHdAddress(owner common.Address) (string, common.Address)

func RandomSalt

func RandomSalt() [32]byte

func RenderTable

func RenderTable(addresses []OutAddress) []byte

func StartHdMining

func StartHdMining(ctx context.Context, owner common.Address, filter Filter, count int32, outChan chan<- OutAddress)

func StartMining

func StartMining(ctx context.Context, owner common.Address, filter Filter, count int32, outChan chan<- OutAddress)

Types

type Config

type Config struct {
	HD     bool               `yaml:"hd"`
	Owner  common.Address     `yaml:"owner"`
	Filter LongRepeatedFilter `yaml:"filter"`
	Number int32              `yaml:"number"`
}

func MustReadConfig

func MustReadConfig(filename string) Config

type Filter

type Filter interface {
	Filter(address string) bool
}

type LongRepeatedFilter

type LongRepeatedFilter struct {
	Char          *byte `yaml:"char,omitempty"`
	Reverse       bool  `yaml:"reverse,omitempty"`
	MinLength     int   `yaml:"min_length"`
	MaxStartIndex *int  `yaml:"max_start_index,omitempty"`
}

func (*LongRepeatedFilter) Filter

func (f *LongRepeatedFilter) Filter(address string) bool

type OutAddress

type OutAddress struct {
	Salt    string
	Address common.Address
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL