Escrow SDK
A class that lets you create and manage Kleros Escrow transactions.
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.
Methods
constructor
constructor
Constructs a KlerosEscrow
instance.
Params (web3, archon)
(web3, archon)
Name | Type | Description | Default |
---|---|---|---|
web3* |
| A Web3 instance. | |
archon |
| An Archon instance. |
|
Returns (KlerosEscrow)
(KlerosEscrow)
A KlerosEscrow
instance.
klerosEscrow.getAccount
klerosEscrow.getAccount
Returns (Promise<object>)
(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
klerosEscrow.setCourtAndCurrency
Sets the court and currency that escrow transactions will use.
Params (court = "blockchain-non-technical", currency)
(court = "blockchain-non-technical", currency)
Name | Type | Description | Default |
---|---|---|---|
court |
| The court that will rule over any disputes arising from a transaction. |
|
currency |
| The address of the token the transaction should be paid in. Leave this undefined to use ETH. |
Returns (Promise)
(Promise)
A promise that resolves when the court and currency are set.
klerosEscrow.upload
klerosEscrow.upload
Uploads files to Kleros' IPFS node.
Params (fileName, bufferOrJSON)
(fileName, bufferOrJSON)
Name | Type | Description | Default | ||
---|---|---|---|---|---|
fileName* |
| The file name of the file to upload. | |||
bufferOrJSON* | `string | Buffer | object` | The file to upload. |
Returns (Promise<string>)
(Promise<string>)
A promise for the uploaded's file IPFS URI.
klerosEscrow.getTransactions
klerosEscrow.getTransactions
Gets the list of transactions an address is involved in.
Params (address)
(address)
Name | Type | Description | Default |
---|---|---|---|
address |
| The address to get transactions for. |
|
Returns (Promise<object[]>)
(Promise<object[]>)
A promise for the list of transactions.
klerosEscrow.isSender
klerosEscrow.isSender
Checks if the current Web3 account is the sender of a transaction.
Params (transactionID)
(transactionID)
Name | Type | Description | Default |
---|---|---|---|
transactionID* |
| The ID of the transaction. |
Returns (Promise<boolean>)
(Promise<boolean>)
A promise for the answer.
klerosEscrow.createTransaction
klerosEscrow.createTransaction
Creates an escrow transaction.
Params (amount, recipient, timeout, metaEvidence)
(amount, recipient, timeout, metaEvidence)
Name | Type | Description | Default | ||
---|---|---|---|---|---|
amount* | `number | string | BN` | The amount escrowed. | |
recipient* |
| The address of the recipient. | |||
timeout* | `number | string | BN` | The time in seconds until the transaction becomes executable. | |
metaEvidence* |
| The meta evidence object for any potential disputes arising. You can add an additional |
Returns (Promise<object>)
(Promise<object>)
A promise for the transaction's creation transaction.
klerosEscrow.pay
klerosEscrow.pay
Pays an amount of an escrowed transaction the current account is a sender in, to the recipient.
Params (transactionID, amount)
(transactionID, amount)
Name | Type | Description | Default | ||
---|---|---|---|---|---|
transactionID* |
| The ID of the transaction. | |||
amount* | `number | string | BN` | The amount to pay. |
Returns (Promise<object>)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.reimburse
klerosEscrow.reimburse
Pays an amount of an escrowed transaction the current account is a recipient in, to the sender.
Params (transactionID, amount)
(transactionID, amount)
Name | Type | Description | Default | ||
---|---|---|---|---|---|
transactionID* |
| The ID of the transaction. | |||
amount* | `number | string | BN` | The amount to pay. |
Returns (Promise<object>)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.executeTransaction
klerosEscrow.executeTransaction
Executes a transaction where the timeout has passed.
Params (transactionID)
(transactionID)
Name | Type | Description | Default |
---|---|---|---|
transactionID* |
| The ID of the transaction. |
Returns (Promise<object>)
(Promise<object>)
A promise for the execution's transaction.
klerosEscrow.timeout
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.
Params (transactionID)
(transactionID)
Name | Type | Description | Default |
---|---|---|---|
transactionID* |
| The ID of the transaction. |
Returns (Promise<object>)
(Promise<object>)
A promise for the timeout's transaction.
klerosEscrow.payArbitrationFee
klerosEscrow.payArbitrationFee
Pays arbitration fees for a transaction the current account is involved in.
Params (transactionID, amount)
(transactionID, amount)
Name | Type | Description | Default | ||
---|---|---|---|---|---|
transactionID* |
| The ID of the transaction. | |||
amount* | `number | string | BN` | The amount to pay. |
Returns (Promise<object>)
(Promise<object>)
A promise for the payment's transaction.
klerosEscrow.submitEvidence
klerosEscrow.submitEvidence
Uploads evidence to Kleros' IPFS node and submits it for a transaction.
Params (transactionID, evidence)
(transactionID, evidence)
Name | Type | Description | Default |
---|---|---|---|
transactionID* |
| The ID of the transaction. | |
evidence* |
| The evidence object for any potential disputes arising. You can add an additional |
Returns (Promise<object>)
(Promise<object>)
A promise for the submission's transaction.
Last updated