mirror of
https://github.com/RoboSats/robosats.git
synced 2024-12-14 11:26:24 +00:00
135 lines
4.2 KiB
Python
135 lines
4.2 KiB
Python
from unittest.mock import MagicMock
|
|
|
|
# Mock up of LND gRPC responses
|
|
|
|
|
|
class MockLightningStub:
|
|
def GetInfo(self, request):
|
|
response = MagicMock()
|
|
response.testnet = True
|
|
return response
|
|
|
|
def EstimateFee(self, request):
|
|
response = MagicMock()
|
|
response.fee_sat = 1500
|
|
response.sat_per_vbyte = 13
|
|
return response
|
|
|
|
def DecodePayReq(self, request):
|
|
response = MagicMock()
|
|
if request.pay_req == "lntb17314....x":
|
|
response.destination = "00000000"
|
|
response.payment_hash = "00000000"
|
|
response.num_satoshis = 1731
|
|
response.timestamp = 1699359597
|
|
response.expiry = 450
|
|
response.description = "Payment reference: xxxxxxxxxxxxxxxxxxxxxxx. This payment WILL FREEZE IN YOUR WALLET, check on RoboSats if the lock was successful. It will be unlocked (fail) unless you cheat or cancel unilaterally."
|
|
response.cltv_expiry = 650
|
|
response.payment_addr = "\275\205\224\002\036h\322"
|
|
response.num_msat = 1731000
|
|
|
|
def CancelInvoice(self, request):
|
|
response = MagicMock()
|
|
if request == b"xU\305\212\306":
|
|
response = {}
|
|
return response
|
|
|
|
def WalletBalance(self, request):
|
|
response = MagicMock()
|
|
response.total_balance = 10_000_000
|
|
response.confirmed_balance = 9_000_000
|
|
response.unconfirmed_balance = 1_000_000
|
|
response.reserved_balance_anchor_chan = 30_000
|
|
response.account_balance = {}
|
|
return response
|
|
|
|
def ChannelBalance(self, request):
|
|
response = MagicMock()
|
|
response.balance: 10_000_000
|
|
response.local_balance.sat = 10_000_000
|
|
response.local_balance.msat = 10_000_000_000
|
|
response.remote_balance.sat = 30_000_000
|
|
response.remote_balance.msat = 30_000_000_000
|
|
response.unsettled_local_balance.sat = 500_000
|
|
response.unsettled_local_balance.msat = 500_000_000
|
|
response.unsettled_remote_balance.sat = 100_000
|
|
response.unsettled_remote_balance.msat = 100_000_000
|
|
response.pending_open_local_balance = 2_000_000
|
|
response.pending_open_local_balance = 2_000_000_000
|
|
response.pending_open_remote_balance = 5_000_000
|
|
response.pending_open_remote_balance = 5_000_000_000
|
|
return response
|
|
|
|
def SendCoins(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
|
|
class MockInvoicesStub:
|
|
def AddHoldInvoice(self, request):
|
|
response = MagicMock()
|
|
if request.value == 1731:
|
|
response.payment_request = "lntb17314....x"
|
|
response.add_index = 1
|
|
response.payment_addr = b"\275\205\322"
|
|
|
|
def CancelInvoice(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
def SettleInvoice(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
def LookupInvoiceV2(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
|
|
class MockRouterStub:
|
|
def ResetMissionControl(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
def SendPaymentV2(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
def TrackPaymentV2(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
|
|
class MockSignerStub:
|
|
def SignMessage(self, request):
|
|
response = MagicMock()
|
|
return response
|
|
|
|
|
|
class MockVersionerStub:
|
|
def GetVersion(self, request):
|
|
response = MagicMock()
|
|
response.commit = "v0.17.0-beta"
|
|
response.commit_hash = "2fb150c8fe827df9df0520ef9916b3afb7b03a8d"
|
|
response.version = "0.17.0-beta"
|
|
response.app_minor = 17
|
|
response.app_patch = 0
|
|
response.app_pre_release = "beta"
|
|
response.build_tags = [
|
|
"autopilotrpc",
|
|
"signrpc",
|
|
"walletrpc",
|
|
"chainrpc",
|
|
"invoicesrpc",
|
|
"watchtowerrpc",
|
|
"neutrinorpc",
|
|
"monitoring",
|
|
"peersrpc",
|
|
"kvdb_postgres",
|
|
"kvdb_etcd",
|
|
"kvdb_sqlite",
|
|
"go1.20.3",
|
|
]
|
|
response.go_version = "go1.21.0"
|
|
return response
|