feat: Waku v2 bridge

Issue #12610
This commit is contained in:
Michal Iskierko
2023-11-12 13:29:38 +01:00
parent 56e7bd01ca
commit 6d31343205
6716 changed files with 1982502 additions and 5891 deletions

View File

@@ -0,0 +1,22 @@
package params
// Define available fleets.
const (
FleetUndefined = ""
FleetProd = "eth.prod"
FleetStaging = "eth.staging"
FleetTest = "eth.test"
FleetWakuV2Prod = "wakuv2.prod"
FleetWakuV2Test = "wakuv2.test"
FleetStatusTest = "status.test"
FleetStatusProd = "status.prod"
FleetShardsTest = "shards.test"
)
// Cluster defines a list of Ethereum nodes.
type Cluster struct {
StaticNodes []string `json:"staticnodes"`
BootNodes []string `json:"bootnodes"`
MailServers []string `json:"mailservers"` // list of trusted mail servers
RendezvousNodes []string `json:"rendezvousnodes"`
}

1181
vendor/github.com/status-im/status-go/params/config.go generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,88 @@
package params
import "github.com/ethereum/go-ethereum/p2p/discv5"
const (
// StatusDatabase path relative to DataDir.
StatusDatabase = "status-db"
// SendTransactionMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#eth_sendtransaction
SendTransactionMethodName = "eth_sendTransaction"
// SendTransactionMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#eth_sendrawtransaction
SendRawTransactionMethodName = "eth_sendRawTransaction"
BalanceMethodName = "eth_getBalance"
// AccountsMethodName defines the name for listing the currently signed accounts.
AccountsMethodName = "eth_accounts"
// PersonalSignMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#personal_sign
PersonalSignMethodName = "personal_sign"
// SignMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#eth_sign
SignMethodName = "eth_sign"
// SignTransactionMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#eth_signtransaction
SignTransactionMethodName = "eth_signTransaction"
// SignTypedDataMethodName https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc#eth_signtypeddata
SignTypedDataMethodName = "eth_signTypedData"
SignTypedDataV3MethodName = "eth_signTypedData_v3"
SignTypedDataV4MethodName = "eth_signTypedData_v4"
WalletSwitchEthereumChainMethodName = "wallet_switchEthereumChain"
// PersonalRecoverMethodName defines the name for `personal.recover` API.
PersonalRecoverMethodName = "personal_ecRecover"
// DefaultGas default amount of gas used for transactions
DefaultGas = 180000
// WhisperMinimumPoW amount of work for Whisper message to be added to sending queue
// We enforce a minimum as a bland spam prevention mechanism.
WhisperMinimumPoW = 0.000002
// WhisperTTL is time to live for messages, in seconds
WhisperTTL = 120
// WakuMinimumPoW amount of work for Whisper message to be added to sending queue
// We enforce a minimum as a bland spam prevention mechanism.
WakuMinimumPoW = 0.000002
// WakuTTL is time to live for messages, in seconds
WakuTTL = 120
// MainnetEthereumNetworkURL is URL where the upstream ethereum network is loaded to
// allow us avoid syncing node.
MainnetEthereumNetworkURL = "https://mainnet.infura.io/nKmXgiFgc2KqtoQ8BCGJ"
// GoerliEthereumNetworkURL is an open RPC endpoint to Goerli network
// Other RPC endpoints are available here: http://goerli.blockscout.com/
GoerliEthereumNetworkURL = "http://goerli.blockscout.com/"
// MainNetworkID is id of the main network
MainNetworkID = 1
// GoerliNetworkID is id of goerli test network (PoA)
GoerliNetworkID = 5
// StatusChainNetworkID is id of a test network (private chain)
StatusChainNetworkID = 777
// WhisperDiscv5Topic used to register and search for whisper peers using discovery v5.
WhisperDiscv5Topic = discv5.Topic("whisper")
// MailServerDiscv5Topic used to register and search for mail server peers using discovery v5.
MailServerDiscv5Topic = discv5.Topic("whispermail")
// LESDiscoveryIdentifier is a prefix for topic used for LES peers discovery.
LESDiscoveryIdentifier = "LES2@"
)
var (
// WhisperDiscv5Limits declares min and max limits for peers with whisper topic.
WhisperDiscv5Limits = Limits{2, 2}
// LesDiscoveryLimits default limits used if LES and discovery are enabled.
LesDiscoveryLimits = Limits{2, 2}
)

View File

@@ -0,0 +1,10 @@
package params
import (
"gopkg.in/go-playground/validator.v9"
)
// NewValidator returns a new validator.Validate.
func NewValidator() *validator.Validate {
return validator.New()
}

View File

@@ -0,0 +1,11 @@
package params
// Version is defined in VERSION file.
// We set it in loadNodeConfig() in api/backend.go.
var Version string
// GitCommit is a commit hash.
var GitCommit string
// IpfsGatewayURL is the Gateway URL to use for IPFS
var IpfsGatewayURL string