UNPKG

colu

Version:

Colu SDK for engine and colored-coins api.

189 lines (175 loc) 4.67 kB
var assert = require('chai').assert var expect = require('chai').expect var toAddress = 'mgNcWJp4hPd7MN6ets2P8HcB5k99aCs8cy' var assetId var fromAddress var phoneNumber = '+1234567890' var assetName = 'test_assetName' var issuer = 'test_issuer' var description = 'test_description' var icon = 'https://www.colu.co/layout/img/colu.png' var utxo var createIssueAssetArgs = function() { return { amount: 30, divisibility: 0, reissueable: false, transfer: [ { amount: 20 } ], metadata: { assetName: assetName, issuer: issuer, description: description, urls: [{ name: 'icon', url: icon, mimeType: 'image/png' }] }, } } var verifyIssueAssetResponse = function(ans) { expect(ans.txHex).to.be.a('string') expect(ans.txHex).to.have.length.above(0) expect(ans.assetId).to.be.a('string') expect(ans.assetId).to.have.length.above(0) assetId = ans.assetId expect(ans.txid).to.be.a('string') expect(ans.txid).to.have.length.above(0) var issueTxid = ans.txid expect(ans.issueAddress).to.be.a('string') expect(ans.issueAddress).to.have.length.above(0) expect(ans.receivingAddresses).to.be.a('array') expect(ans.receivingAddresses).to.have.length.above(0) expect(ans.coloredOutputIndexes).to.be.a('array') expect(ans.coloredOutputIndexes).to.have.length.above(0) utxo = issueTxid + ':' + ans.coloredOutputIndexes[0] fromAddress = ans.receivingAddresses[0].address } var createBurnAssetFromUtxoArgs = function () { return { sendutxo: [utxo], transfer: [ { assetId: assetId, address: toAddress, amount: 10 } ], burn: [ { assetId: assetId, amount: 1 } ] } } var createBurnAssetFromAddressArgs = function () { return { from: [fromAddress], transfer: [ { assetId: assetId, address: fromAddress, amount: 5 } ], burn: [ { assetId: assetId, amount: 1 } ] } } var verifyBurnAssetResponse = function (ans) { expect(ans).to.be.a('object') expect(ans.txHex).to.be.a('string') expect(ans.txHex).to.have.length.above(0) expect(ans.txid).to.be.a('string') expect(ans.txid).to.have.length.above(0) expect(ans.coloredOutputIndexes).to.be.a('array') expect(ans.coloredOutputIndexes).to.have.length.above(0) utxo = ans.txid + ':' + ans.coloredOutputIndexes[0] } var createSendAssetFromUtxoArgs = function() { var address = fromAddress return { sendutxo: [utxo], to: [ { address: toAddress, assetId: assetId, amount: 3 } ] } } var verifySendAssetResponse = function(ans) { expect(ans).to.be.a('object') expect(ans.txHex).to.be.a('string') expect(ans.txHex).to.have.length.above(0) expect(ans.txid).to.be.a('string') expect(ans.txid).to.have.length.above(0) } var createSendAssetFromAddressArgs = function() { var address = fromAddress return { from: [address], to: [ { address: toAddress, assetId: assetId, amount: 2 } ] } } var createSendAssetToPhoneArgs = function() { var address = fromAddress return { from: [address], to: [ { phoneNumber: phoneNumber, assetId: assetId, amount: 1 } ] } } var verifyGetIssuedAssetsResponse = function(issuances) { expect(issuances).to.be.a('array') expect(issuances).to.have.length.above(0) assert.equal(issuances[0].assetId, assetId) } var createGetAssetMetadataArgs = function() { return { assetId : assetId, utxo : utxo } } var verifyGetAssetMetadataResponse = function(metadata) { expect(metadata).to.be.a('object') assert.equal(metadata.assetName, assetName) assert.equal(metadata.issuer, issuer) assert.equal(metadata.description, description) assert.equal(metadata.icon, icon) } module.exports = { createIssueAssetArgs : createIssueAssetArgs, verifyIssueAssetResponse : verifyIssueAssetResponse, createBurnAssetFromUtxoArgs: createBurnAssetFromUtxoArgs, createBurnAssetFromAddressArgs: createBurnAssetFromAddressArgs, verifyBurnAssetResponse: verifyBurnAssetResponse, createSendAssetFromUtxoArgs : createSendAssetFromUtxoArgs, verifySendAssetResponse : verifySendAssetResponse, createSendAssetFromAddressArgs : createSendAssetFromAddressArgs, createSendAssetToPhoneArgs : createSendAssetToPhoneArgs, verifyGetIssuedAssetsResponse : verifyGetIssuedAssetsResponse, createGetAssetMetadataArgs : createGetAssetMetadataArgs, verifyGetAssetMetadataResponse : verifyGetAssetMetadataResponse }