bs-escrow v1.0.4
bs-token
A js wrapper around BSEscrow contract to simplify its consumption.
Installation
npm install bs-escrowUsage
Clarifications
- Every method of BSEscrow's api has been promisified.
- Some of its methods require to call
personalunder the hood in order to unlock an account.
Initialization
Import BSEscrow module and create an instance passing by constructor a Web3 instance, a BSToken instance and a config object with the next values:
const BSEscrow = require('bs-escrow');
const lib = new BSEscrow(web3, token, {
admin: {
account: admin,
password: password
},
contractEscrow: {
abi: abi,
address: address
}
}
);Api consumption
Calls
balanceOf(targetAddress) returns the total amount of tokens available for the specified address.
getEscrow(assetId) returns an object representing an escrow containing these properties: buyer, seller, assetPrice and state (0 = Held, 1 = Cancelled, 2 = Fulfilled, 3 = BuyerProposeCancellation, 4 = SellerDisagreeProposalCancellation).
Transactions
createEscrow(buyer, buyerPass, seller, assetPrice, assetId) the merchant creates an escrow.
cancelEscrow(passwordSeller, assetId) the seller cancels an existing escrow.
cancelEscrowProposal(passwordBuyer, assetId) the buyer makes a proposal to cancel the escrow.
validateCancelEscrowProposal(passwordSeller, assetId, validate) the seller validates a proposal of cancellation.
cancelEscrowArbitrating(passwordOwner, assetId) the merchant cancels the escrow using arbitration when the escrow has been reached a conflict state.
fulfillEscrow(passwordBuyer, assetId) the buyer fulfills the escrow.
fulfillEscrowArbitrating(passwordOwner, assetId) the merchant fulfills the escrow using arbitration when the escrow has been reached a conflict state.