Comparing version 11.14.0 to 11.15.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const bn_js_1 = require("bn.js"); | ||
const Address_1 = require("../address/Address"); | ||
const Builder_1 = require("../boc/Builder"); | ||
@@ -44,2 +45,20 @@ const Cell_1 = require("../boc/Cell"); | ||
}); | ||
it('should serialize address', () => { | ||
const golden = 'te6ccgEBAwEAMgACDwAAAQQAELAgAgEAQ5_5N0I0swMbwhQMZdlgFyGLyjnRvwQ_TZTRvL8db8NQtNAAAA'; | ||
let serialized = (0, stack_1.serializeStack)([ | ||
{ | ||
"type": "slice", "cell": (0, Builder_1.beginCell)().storeAddress(Address_1.Address.parse('kf_JuhGlmBjeEKBjLssAuQxeUc6N-CH6bKaN5fjrfhqFpqVQ')).endCell() | ||
} | ||
]); | ||
expect(serialized.toBoc({ idx: false, crc32: false }).toString('base64url')).toEqual(golden); | ||
}); | ||
it('should serialize int', () => { | ||
const golden = 'te6ccgEBAgEAKgABSgAAAQIAyboRpZgY3hCgYy7LALkMXlHOjfgh+mymjeX4634ahaYBAAA='; | ||
let serialized = (0, stack_1.serializeStack)([ | ||
{ | ||
"type": "int", "value": new bn_js_1.BN('91243637913382117273357363328745502088904016167292989471764554225637796775334', 10) | ||
} | ||
]); | ||
expect(serialized.toBoc({ idx: false, crc32: false }).toString('base64')).toEqual(golden); | ||
}); | ||
it('should serialize tuples', () => { | ||
@@ -46,0 +65,0 @@ let golden = 'te6ccgEBEAEAjgADDAAABwcABAkDAQEGBwABAgEJBAAHQCAFAgAGBAECAwUAHeBhIIRGeIhda/QFs8ibOAIACAcAEgEAAAAAAAHimQASAQAAAAAAAAB7ARIB//////////8KARIBAAAAAAAAAAMLARIBAAAAAAAAAAIMARIBAAAAAAAAAAENAQIADgESAQAAAAAAAAABDwAA'; |
@@ -39,5 +39,28 @@ /// <reference types="node" /> | ||
}>; | ||
voting: { | ||
normalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
criticalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
}; | ||
validators: { | ||
minStake: BN; | ||
maxStake: BN; | ||
minTotalStake: BN; | ||
maxStakeFactor: number; | ||
@@ -44,0 +67,0 @@ maxValidators: number; |
@@ -83,2 +83,3 @@ /// <reference types="node" /> | ||
maxStake: BN; | ||
minTotalStake: BN; | ||
maxStakeFactor: number; | ||
@@ -248,2 +249,34 @@ }; | ||
}; | ||
export declare function parseProposalSetup(slice: Slice): { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
export declare function parseVotingSetup(slice: Slice | null | undefined): { | ||
normalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
criticalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
}; | ||
export declare function parseFullConfig(configs: Map<string, Slice>): { | ||
@@ -276,5 +309,28 @@ configAddress: Address; | ||
}>; | ||
voting: { | ||
normalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
criticalParams: { | ||
minTotalRounds: number; | ||
maxTotalRounds: number; | ||
minWins: number; | ||
maxLoses: number; | ||
minStoreSec: number; | ||
maxStoreSec: number; | ||
bitPrice: number; | ||
cellPrice: number; | ||
}; | ||
}; | ||
validators: { | ||
minStake: BN; | ||
maxStake: BN; | ||
minTotalStake: BN; | ||
maxStakeFactor: number; | ||
@@ -281,0 +337,0 @@ maxValidators: number; |
@@ -6,3 +6,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parseFullConfig = exports.configParse29 = exports.configParse28 = exports.configParseMsgPrices = exports.configParseGasLimitsPrices = exports.configParseBridge = exports.configParseValidatorSet = exports.configParse12 = exports.configParse40 = exports.configParse8 = exports.configParse18 = exports.configParse17 = exports.configParse16 = exports.configParse15 = exports.configParseMasterAddressRequired = exports.parseBridge = exports.parseValidatorSet = exports.parseValidatorDescr = exports.configParseWorkchainDescriptor = exports.configParseMasterAddress = void 0; | ||
exports.parseFullConfig = exports.parseVotingSetup = exports.parseProposalSetup = exports.configParse29 = exports.configParse28 = exports.configParseMsgPrices = exports.configParseGasLimitsPrices = exports.configParseBridge = exports.configParseValidatorSet = exports.configParse12 = exports.configParse40 = exports.configParse8 = exports.configParse18 = exports.configParse17 = exports.configParse16 = exports.configParse15 = exports.configParseMasterAddressRequired = exports.parseBridge = exports.parseValidatorSet = exports.parseValidatorDescr = exports.configParseWorkchainDescriptor = exports.configParseMasterAddress = void 0; | ||
const bn_js_1 = __importDefault(require("bn.js")); | ||
@@ -180,2 +180,3 @@ const __1 = require("../.."); | ||
let maxStake = slice.readCoins(); | ||
let minTotalStake = slice.readCoins(); | ||
let maxStakeFactor = slice.readUintNumber(32); | ||
@@ -185,2 +186,3 @@ return { | ||
maxStake, | ||
minTotalStake, | ||
maxStakeFactor | ||
@@ -505,2 +507,33 @@ }; | ||
exports.configParse29 = configParse29; | ||
// cfg_vote_cfg#36 min_tot_rounds:uint8 max_tot_rounds:uint8 min_wins:uint8 max_losses:uint8 min_store_sec:uint32 max_store_sec:uint32 bit_price:uint32 cell_price:uint32 = ConfigProposalSetup; | ||
function parseProposalSetup(slice) { | ||
let magic = slice.readUintNumber(8); | ||
if (magic !== 0x36) { | ||
throw new Error('Invalid config'); | ||
} | ||
let minTotalRounds = slice.readUintNumber(8); | ||
let maxTotalRounds = slice.readUintNumber(8); | ||
let minWins = slice.readUintNumber(8); | ||
let maxLoses = slice.readUintNumber(8); | ||
let minStoreSec = slice.readUintNumber(32); | ||
let maxStoreSec = slice.readUintNumber(32); | ||
let bitPrice = slice.readUintNumber(32); | ||
let cellPrice = slice.readUintNumber(32); | ||
return { minTotalRounds, maxTotalRounds, minWins, maxLoses, minStoreSec, maxStoreSec, bitPrice, cellPrice }; | ||
} | ||
exports.parseProposalSetup = parseProposalSetup; | ||
// cfg_vote_setup#91 normal_params:^ConfigProposalSetup critical_params:^ConfigProposalSetup = ConfigVotingSetup; | ||
function parseVotingSetup(slice) { | ||
if (!slice) { | ||
throw new Error('Invalid config'); | ||
} | ||
let magic = slice.readUintNumber(8); | ||
if (magic !== 0x91) { | ||
throw new Error('Invalid config'); | ||
} | ||
let normalParams = parseProposalSetup(slice.readRef()); | ||
let criticalParams = parseProposalSetup(slice.readRef()); | ||
return { normalParams, criticalParams }; | ||
} | ||
exports.parseVotingSetup = parseVotingSetup; | ||
function parseFullConfig(configs) { | ||
@@ -515,2 +548,3 @@ return { | ||
workchains: configParse12(configs.get('12')), | ||
voting: parseVotingSetup(configs.get('11')), | ||
validators: { | ||
@@ -517,0 +551,0 @@ ...configParse15(configs.get('15')), |
{ | ||
"name": "ton", | ||
"version": "11.14.0", | ||
"version": "11.15.0", | ||
"repository": "https://github.com/tonwhales/ton.git", | ||
@@ -5,0 +5,0 @@ "author": "Steve Korshakov <steve@korshakov.com>", |
432770
11184