openchain-sdk-yxl-wx-request
Version:
openchain sd YxL wx request
67 lines (51 loc) • 1.6 kB
JavaScript
;
require('chai').should();
const OpenChainSDK = require('../index');
const BigNumber = require('bignumber.js');
const sdk = new OpenChainSDK({
host: 'nodeapitest.yuxinlink.com',
});
describe('Test account Set Privilege Operation', function() {
it('test operation.accountSetPrivilegeOperation()', async() => {
const privateKey = 'private key';
const sourceAddress = 'YxLVyL2Rr6u9nFpVdq16ycTJ3HssQBuc9BAVz';
// Get nonce
const result = await sdk.account.getNonce(sourceAddress);
if (result.errorCode !== 0) {
console.log(result);
return;
}
let nonce = result.result.nonce;
nonce = new BigNumber(nonce).plus(1).toString(10);
// build operation
let accountSetPrivilegeOperation = sdk.operation.accountSetPrivilegeOperation({
// signers: [{
// address: 'YxLVyL2Rr6u9nFpVdq16ycTJ3HssQBuc9BAVz',
// weight: '0'
// }],
typeThresholds: [{
type: '3',
threshold: '100',
}],
});
if (accountSetPrivilegeOperation.errorCode !== 0) {
console.log(accountSetPrivilegeOperation);
return;
}
const operationItem = accountSetPrivilegeOperation.result.operation;
const args = {
sourceAddress,
nonce,
operations: [operationItem],
signtureNumber: '100',
};
let feeData = await sdk.transaction.evaluateFee(args);
if (feeData.errorCode !== 0) {
console.log(feeData);
return;
}
let feeLimit = feeData.result.feeLimit;
let gasPrice = feeData.result.gasPrice;
console.log(feeData);
});
});