hive-js-dev
Version:
Steem.js the JavaScript API for Steem blockchain
40 lines (29 loc) • 2.27 kB
JavaScript
var assert = require('assert');
var types = require('../src/auth/serializer/src/types');
var ops = require('../src/auth/serializer/src/operations');
describe("steem.auth: operation test", ()=> {
it("templates", ()=> {
for(let op in ops) {
switch(op) {
case "operation" : continue
}
template(ops[op])
}
})
it("account_create", ()=> {
let tx = {"ref_block_num": 19297,"ref_block_prefix": 1608085982,"expiration": "2016-03-23T22:41:21","operations": [ ["account_create",{"fee": "0.000 STEEM","creator": "initminer","new_account_name": "scott","owner": {"weight_threshold": 1,"account_auths": [],"key_auths": [ ["STM7DTS62msowgpAZJBNRMStMUt5bfRA4hc9j5wjwU4vKhi3KFkKb",1 ]]},"active": {"weight_threshold": 1,"account_auths": [],"key_auths": [ ["STM8k1f8fvHxLrCTqMdRUJcK2rCE3y7SQBb8PremyadWvVWMeedZy",1 ]]},"posting": {"weight_threshold": 1,"account_auths": [],"key_auths": [ ["STM6DgpKJqoVGg7o6J1jdiP45xxbgoUg5VGzs96YBxX42NZu2bZea",1 ]]},"memo_key": "STM6ppNVEFmvBW4jEkzxXnGKuKuwYjMUrhz2WX1kHeGSchGdWJEDQ","json_metadata": ""} ]],"extensions": [], "signatures": []}
let tx_hex = "614bde71d95f911bf3560109000000000000000003535445454d000009696e69746d696e65720573636f74740100000000010332757668fa45c2bc21447a2ff1dc2bbed9d9dda1616fd7b700255bd28e9d674a010001000000000103fb8900a262d51b908846be54fcf04b3a80d12ee749b9446f976b58b220ba4eed010001000000000102af4963d0f034043f4b4b0c99220e6a4b5d8b9cc71e5cd7d110f7602f3a0a11d1010002ff0de11ef55b998daf88047f1a00a60ed5dffb0c23c3279f8bd42a733845c5da000000"
// 03 53 54 45 45 4d 0000
assert.equal("STEEM", new Buffer("535445454d", "hex").toString())
let tx_object1 = ops.signed_transaction.fromObject(tx)
let tx_object2 = ops.signed_transaction.fromHex(tx_hex)
assert.deepEqual(tx, ops.signed_transaction.toObject(tx_object1))
assert.deepEqual(tx, ops.signed_transaction.toObject(tx_object2))
assert.deepEqual(tx_hex, ops.signed_transaction.toHex(tx_object1))
assert.deepEqual(tx_hex, ops.signed_transaction.toHex(tx_object2))
})
})
function template(op) {
assert(op.toObject({}, {use_default: true}))
assert(op.toObject({}, {use_default: true, annotate: true}))
}