Escrow SDK
A class that lets you create and manage Kleros Escrow transactions.
Last updated
A class that lets you create and manage Kleros Escrow transactions.
Last updated
This class lets you create and manage Kleros Escrow transactions. Use this Kleros Escrow SDK to easily integrate on-chain escrow features on your platform.
constructor
Constructs a KlerosEscrow
instance.
(web3, archon)
Name | Type | Description | Default |
---|---|---|---|
(KlerosEscrow)
A KlerosEscrow
instance.
klerosEscrow.getAccount
(Promise<object>)
A promise for the current account of the set Web3 instance or the one chosen in the prompt to connect when none is set.
klerosEscrow.setCourtAndCurrency
Sets the court and currency that escrow transactions will use.
(court = "blockchain-non-technical", currency)
(Promise)
A promise that resolves when the court and currency are set.
klerosEscrow.upload
Uploads files to Kleros' IPFS node.
(fileName, bufferOrJSON)
(Promise<string>)
A promise for the uploaded's file IPFS URI.
klerosEscrow.getTransactions
Gets the list of transactions an address is involved in.
(address)
(Promise<object[]>)
A promise for the list of transactions.
klerosEscrow.isSender
Checks if the current Web3 account is the sender of a transaction.
(transactionID)
(Promise<boolean>)
A promise for the answer.
klerosEscrow.createTransaction
Creates an escrow transaction.
(amount, recipient, timeout, metaEvidence)
(Promise<object>)
A promise for the transaction's creation transaction.
klerosEscrow.pay
Pays an amount of an escrowed transaction the current account is a sender in, to the recipient.
(transactionID, amount)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.reimburse
Pays an amount of an escrowed transaction the current account is a recipient in, to the sender.
(transactionID, amount)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.executeTransaction
Executes a transaction where the timeout has passed.
(transactionID)
(Promise<object>)
A promise for the execution's transaction.
klerosEscrow.timeout
Timesout the other party of an escrowed transaction the current account is involved in. This is for when they miss the deadline to pay arbitration fees.
(transactionID)
(Promise<object>)
A promise for the timeout's transaction.
klerosEscrow.payArbitrationFee
Pays arbitration fees for a transaction the current account is involved in.
(transactionID, amount)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.submitEvidence
Uploads evidence to Kleros' IPFS node and submits it for a transaction.
(transactionID, evidence)
(Promise<object>)
A promise for the submission's transaction.
Name | Type | Description | Default |
---|---|---|---|
Name | Type | Description | Default | ||
---|---|---|---|---|---|
Name | Type | Description | Default |
---|---|---|---|
Name | Type | Description | Default |
---|---|---|---|
Name | Type | Description | Default | ||
---|---|---|---|---|---|
Name | Type | Description | Default | ||
---|---|---|---|---|---|
Name | Type | Description | Default | ||
---|---|---|---|---|---|
Name | Type | Description | Default |
---|---|---|---|
Name | Type | Description | Default |
---|---|---|---|
Name | Type | Description | Default | ||
---|---|---|---|---|---|
Name | Type | Description | Default |
---|---|---|---|
web3*
Web3
A Web3 instance.
archon
Archon
An Archon instance.
new Archon(web3.currentProvider, "https://ipfs.kleros.io")
court
string
The court that will rule over any disputes arising from a transaction. "general"
or "blockchain-non-technical"
, or a custom arbitrable transaction contract address.
"blockchain-non-technical"
currency
string
The address of the token the transaction should be paid in. Leave this undefined to use ETH.
fileName*
string
The file name of the file to upload.
bufferOrJSON*
`string
Buffer
object`
The file to upload.
address
string
The address to get transactions for.
(await web3.eth.getAccounts())[0]
transactionID*
string
The ID of the transaction.
amount*
`number
string
BN`
The amount escrowed.
recipient*
string
The address of the recipient.
timeout*
`number
string
BN`
The time in seconds until the transaction becomes executable.
metaEvidence*
object
The meta evidence object for any potential disputes arising. You can add an additional file
property with a buffer, string, or object, and it will be uploaded to IPFS and fileURI
will be set appropiately.
transactionID*
string
The ID of the transaction.
amount*
`number
string
BN`
The amount to pay.
transactionID*
string
The ID of the transaction.
amount*
`number
string
BN`
The amount to pay.
transactionID*
string
The ID of the transaction.
transactionID*
string
The ID of the transaction.
transactionID*
string
The ID of the transaction.
amount*
`number
string
BN`
The amount to pay.
transactionID*
string
The ID of the transaction.
evidence*
object
The evidence object for any potential disputes arising. You can add an additional file
property with a buffer, string, or object, and it will be uploaded to IPFS and fileURI
will be set appropiately.