UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

53 lines 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // tslint:disable: max-classes-per-file var SubstrateNetwork_1 = require("../../../SubstrateNetwork"); var SCALEDecoder_1 = require("../scale/SCALEDecoder"); var SubstrateAccountData = /** @class */ (function () { function SubstrateAccountData(free, reserved, miscFrozen, feeFrozen) { this.free = free; this.reserved = reserved; this.miscFrozen = miscFrozen; this.feeFrozen = feeFrozen; } SubstrateAccountData.decode = function (network, raw) { var decoder = new SCALEDecoder_1.SCALEDecoder(network, raw); var free = decoder.decodeNextInt(128); var reserved = decoder.decodeNextInt(128); var miscFrozen = decoder.decodeNextInt(128); var feeFrozen = decoder.decodeNextInt(128); return { bytesDecoded: free.bytesDecoded + reserved.bytesDecoded + miscFrozen.bytesDecoded + feeFrozen.bytesDecoded, decoded: new SubstrateAccountData(free.decoded, reserved.decoded, miscFrozen.decoded, feeFrozen.decoded) }; }; return SubstrateAccountData; }()); var SubstrateAccountInfo = /** @class */ (function () { function SubstrateAccountInfo(nonce, refcount, data) { this.nonce = nonce; this.refcount = refcount; this.data = data; } SubstrateAccountInfo.decode = function (network, runtimeVersion, raw) { var decoder = new SCALEDecoder_1.SCALEDecoder(network, raw); var nonce = decoder.decodeNextInt(32); var refcount = decoder.decodeNextInt(this.migrateRefcountLength(network, runtimeVersion)); var data = decoder.decodeNextObject(SubstrateAccountData.decode); return new SubstrateAccountInfo(nonce.decoded, refcount.decoded, data.decoded); }; SubstrateAccountInfo.migrateRefcountLength = function (network, runtimeVersion) { if (runtimeVersion === undefined) { return 32; } if (network === SubstrateNetwork_1.SubstrateNetwork.KUSAMA && runtimeVersion >= 2025 || network === SubstrateNetwork_1.SubstrateNetwork.POLKADOT && runtimeVersion >= 25) { return 32; } else { return 8; } }; return SubstrateAccountInfo; }()); exports.SubstrateAccountInfo = SubstrateAccountInfo; //# sourceMappingURL=SubstrateAccountInfo.js.map