fixes, allow sats below 1

This commit is contained in:
Believethehype
2023-11-28 17:13:42 +01:00
parent e8d0a945d5
commit e1c09e9e7e
11 changed files with 20 additions and 14 deletions

Binary file not shown.

5
.gitignore vendored
View File

@@ -160,3 +160,8 @@ cython_debug/
#.idea/
.DS_Store
*.db
outputs/yt.mp3
.\outputs\audio.mp3
.\outputs\/yt.mp3
.\outputs\audio.mp3
.\outputs\/yt.mp3

12
dvm.py
View File

@@ -115,7 +115,7 @@ class DVM:
cashu_redeemed = False
if cashu != "":
cashu_redeemed, cashu_message = redeem_cashu(cashu, amount, self.dvm_config, self.client)
cashu_redeemed, cashu_message = redeem_cashu(cashu, int(amount), self.dvm_config, self.client)
if cashu_message != "success":
send_job_status_reaction(nip90_event, "error", False, amount, self.client, cashu_message,
self.dvm_config)
@@ -132,8 +132,8 @@ class DVM:
do_work(nip90_event)
# if task is directed to us via p tag and user has balance, do the job and update balance
elif p_tag_str == Keys.from_sk_str(
self.dvm_config.PUBLIC_KEY) and user.balance >= amount:
balance = max(user.balance - amount, 0)
self.dvm_config.PUBLIC_KEY) and user.balance >= int(amount):
balance = max(user.balance - int(amount), 0)
update_sql_table(db=self.dvm_config.DB, npub=user.npub, balance=balance,
iswhitelisted=user.iswhitelisted, isblacklisted=user.isblacklisted,
nip05=user.nip05, lud16=user.lud16, name=user.name,
@@ -160,9 +160,9 @@ class DVM:
+ nip90_event.as_json())
if bid > 0:
bid_offer = int(bid / 1000)
if bid_offer >= amount:
if bid_offer >= int(amount):
send_job_status_reaction(nip90_event, "payment-required", False,
amount, # bid_offer
int(amount), # bid_offer
client=self.client, dvm_config=self.dvm_config)
else: # If there is no bid, just request server rate from user
@@ -170,7 +170,7 @@ class DVM:
"[" + self.dvm_config.NIP89.name + "] Requesting payment for Event: " +
nip90_event.id().to_hex())
send_job_status_reaction(nip90_event, "payment-required",
False, amount, client=self.client, dvm_config=self.dvm_config)
False, int(amount), client=self.client, dvm_config=self.dvm_config)
# else:
# print("[" + self.dvm_config.NIP89.name + "] Task " + task + " not supported on this DVM, skipping..")

View File

@@ -13,7 +13,7 @@ class DVMTaskInterface:
NAME: str
KIND: int
TASK: str
COST: int
COST: float
PRIVATE_KEY: str
PUBLIC_KEY: str
DVM = DVM

View File

@@ -25,7 +25,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
class ImageGenerationDALLE(DVMTaskInterface):
KIND: int = EventDefinitions.KIND_NIP90_GENERATE_IMAGE
TASK: str = "text-to-image"
COST: int = 120
COST: float = 120
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
admin_config: AdminConfig = None, options=None):

View File

@@ -21,7 +21,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
class ImageGenerationSDXL(DVMTaskInterface):
KIND: int = EventDefinitions.KIND_NIP90_GENERATE_IMAGE
TASK: str = "text-to-image"
COST: int = 50
COST: float = 50
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
admin_config: AdminConfig = None, options=None):

View File

@@ -25,7 +25,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
class SpeechToTextWhisperX(DVMTaskInterface):
KIND: int = EventDefinitions.KIND_NIP90_EXTRACT_TEXT
TASK: str = "speech-to-text"
COST: int = 1
COST: float = 0.1
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
admin_config: AdminConfig = None, options=None):

View File

@@ -23,7 +23,7 @@ Params: None
class TextExtractionPDF(DVMTaskInterface):
KIND: int = EventDefinitions.KIND_NIP90_EXTRACT_TEXT
TASK: str = "pdf-to-text"
COST: int = 0
COST: float = 0
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
admin_config: AdminConfig = None, options=None):

View File

@@ -21,7 +21,7 @@ Params: -language The target language
class Translation(DVMTaskInterface):
KIND: int = EventDefinitions.KIND_NIP90_TRANSLATE_TEXT
TASK: str = "translation"
COST: int = 0
COST: float = 0
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
admin_config: AdminConfig = None, options=None):

View File

@@ -149,7 +149,7 @@ def get_amount_per_task(task, dvm_config, duration=1):
duration = 1
for dvm in dvm_config.SUPPORTED_DVMS: # this is currently just one
if dvm.TASK == task:
amount = dvm.COST * int(duration)
amount = dvm.COST * duration
return amount
else:
print("[" + dvm_config.SUPPORTED_DVMS[

View File

@@ -9,6 +9,7 @@ from utils.nostr_utils import get_event_by_id
def input_data_file_duration(event, dvm_config, client, start=0, end=0):
print("[" + dvm_config.NIP89.name + "] Getting Duration of the Media file..")
input_value = ""
input_type = "url"
for tag in event.tags():
@@ -228,7 +229,7 @@ def get_Twitter(input_value, start, end):
def get_youtube(input_value, start, end, audioonly=True):
filepath = '.\\outputs\\'
filepath = os.path.abspath(os.curdir) + r'/outputs/'
filename = ""
try:
filename = downloadYouTube(input_value, filepath, audioonly)