Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

b86c708598a648ee7fe49ef60d91ca519ef43ee094920d843444120aade974e1
Timestamp (utc)
2021-08-11 07:18:36
Fee Paid
0.00002069 BSV
(
0.05304133 BSV
-
0.05302064 BSV
)
Fee Rate
500.2 sat/KB
Version
1
Confirmations
289,512
Size Stats
4,136 B

4 Outputs

Total Output:
0.05302064 BSV
  • jrunM {"in":0,"ref":["native://Jig"],"out":["559bf1f2a8dadbfacd152533cf7f4a7cfe64c1af8b3225a5fa940b6ecf45e406","cf656770299e4788af15041e979382c8165752766687221f3d9a4966ba77d966"],"del":[],"cre":["n4EoRXnDVdG5PvZpsa5DLCY1SNVDrnRkJ7","n4EoRXnDVdG5PvZpsa5DLCY1SNVDrnRkJ7"],"exec":[{"op":"DEPLOY","data":["class InvoiceMate extends Jig {\n init() {\n this.Invoices = [];\n this.Workflows = [];\n this.InvoiceWorkflows = [];\n this.Payments = [];\n }\n createInvoice(invoice) {\n mutex\n .acquire()\n .then((e) => {\n console.log(\"Invoice data: \", invoice);\n\n this.Invoices.push(invoice);\n return true, e;\n })\n .then(t, (e) => {\n e();\n });\n }\n getInvoiceHistory(id) {\n try {\n return this.Invoices.filter((inv) => inv.invoiceId == id);\n } catch (error) {\n return false;\n }\n }\n getInvoice(id) {\n try {\n let data = this.Invoices.filter((inv) => inv.invoiceId == id);\n data.reverse();\n return data[0];\n } catch (error) {\n return false;\n }\n }\n invoices() {\n return this.Invoices;\n }\n async appendTxIdInvoice(obj) {\n const release = await mutex.acquire();\n\n try {\n this.Invoices[this.Invoices.length - 1] = obj;\n return true;\n } catch (error) {\n return false;\n } finally {\n release();\n }\n }\n\n async createWorkflow(workflow) {\n const release = await mutex.acquire();\n\n try {\n console.log(\"Workflow data: \", workflow);\n\n this.Workflows.push(workflow);\n return \"Workflow posted to the Blockchain!\";\n } catch (error) {\n return false;\n } finally {\n release();\n }\n }\n getWorkflowHistory(id) {\n try {\n let data = this.Workflows.filter((wfl) => wfl.WorkflowID == id);\n return data;\n } catch (error) {\n return false;\n }\n }\n getWorklfow(id) {\n try {\n let data = this.Workflows.filter((wfl) => wfl.WorkflowID == id);\n data.reverse();\n return data[0];\n } catch (error) {\n return false;\n }\n }\n\n async appendTxIdWorkflow(obj) {\n const release = await mutex.acquire();\n\n try {\n this.Workflows[this.Workflows.length - 1] = obj;\n return true;\n } catch (error) {\n return false;\n } finally {\n release();\n }\n }\n\n createInvoiceWorkflow(event) {\n try {\n console.log(\"Event data: \", event);\n\n this.InvoiceWorkflows.push(event);\n return true;\n } catch (error) {\n return false;\n }\n }\n getInvoiceWorkflowHistory(id) {\n try {\n return this.InvoiceWorkflows.filter((event) => event.invoiceID == id);\n } catch (error) {\n return false;\n }\n }\n getInvoiceWorkflow(id) {\n try {\n let data = this.InvoiceWorkflows.filter((event) => event.invoiceID == id);\n data.reverse();\n return data[0];\n } catch (error) {\n return false;\n }\n }\n appendTxIdEvent(obj) {\n this.InvoiceWorkflows[this.InvoiceWorkflows.length - 1] = obj;\n return true;\n }\n\n makePayment(payment) {\n try {\n console.log(\"Payment data: \", payment);\n\n this.Payments.push(payment);\n return true;\n } catch (error) {\n return false;\n }\n }\n getPaymentHistory(id) {\n try {\n return this.Payments.filter((payment) => payment.invoiceID == id);\n } catch (error) {\n return false;\n }\n }\n getPayment(id) {\n try {\n let data = this.Payments.filter((payment) => payment.invoiceID == id);\n data.reverse();\n return data[0];\n } catch (error) {\n return false;\n }\n }\n appendTxIdPayment(obj) {\n this.Payments[this.Payments.length - 1] = obj;\n return true;\n }\n}",{"deps":{"Jig":{"$jig":0}}}]},{"op":"NEW","data":[{"$jig":1},[]]}]}
    https://whatsonchain.com/tx/b86c708598a648ee7fe49ef60d91ca519ef43ee094920d843444120aade974e1