@mainsail/blockchain-utils 0.0.1-evm.16 → 0.0.1-evm.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distribution/fee-calculator.js +1 -1
- package/distribution/fee-calculator.js.map +1 -1
- package/distribution/is-block-chained.js +7 -7
- package/distribution/is-block-chained.js.map +1 -1
- package/distribution/supply-calculator.js +1 -1
- package/distribution/supply-calculator.js.map +1 -1
- package/distribution/timestamp-calculator.js +1 -1
- package/package.json +5 -5
@@ -8,7 +8,7 @@ import { injectable } from "@mainsail/container";
|
|
8
8
|
import { BigNumber } from "@mainsail/utils";
|
9
9
|
let FeeCalculator = class FeeCalculator {
|
10
10
|
calculate(transaction) {
|
11
|
-
return BigNumber.make(transaction.data.gasPrice).times(transaction.data.
|
11
|
+
return BigNumber.make(transaction.data.gasPrice).times(transaction.data.gas);
|
12
12
|
}
|
13
13
|
calculateConsumed(gasPrice, gasUsed) {
|
14
14
|
return BigNumber.make(gasPrice).times(gasUsed);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fee-calculator.js","sourceRoot":"","sources":["../source/fee-calculator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAClB,SAAS,CAAC,WAAyC;QACzD,OAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"fee-calculator.js","sourceRoot":"","sources":["../source/fee-calculator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAClB,SAAS,CAAC,WAAyC;QACzD,OAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAEM,iBAAiB,CAAC,QAAgB,EAAE,OAAe;QACzD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACD,CAAA;AARY,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CAQzB"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
const getBlockChainedDetails = (previousBlock, nextBlock) => {
|
2
|
-
const followsPrevious = nextBlock.
|
3
|
-
const isPlusOne = nextBlock.
|
2
|
+
const followsPrevious = nextBlock.parentHash === previousBlock.hash;
|
3
|
+
const isPlusOne = nextBlock.number === previousBlock.number + 1;
|
4
4
|
const isAfterPrevious = previousBlock.timestamp < nextBlock.timestamp;
|
5
5
|
const isChained = followsPrevious && isPlusOne && isAfterPrevious;
|
6
6
|
return { followsPrevious, isAfterPrevious, isChained, isPlusOne };
|
@@ -11,15 +11,15 @@ export const getBlockNotChainedErrorMessage = (previousBlock, nextBlock) => {
|
|
11
11
|
if (details.isChained) {
|
12
12
|
throw new Error("Block had no chain error");
|
13
13
|
}
|
14
|
-
const messagePrefix = `Block {
|
15
|
-
`
|
16
|
-
`previous block {
|
14
|
+
const messagePrefix = `Block { number: ${nextBlock.number}, hash: ${nextBlock.hash}, ` +
|
15
|
+
`parentHash: ${nextBlock.parentHash} } is not chained to the ` +
|
16
|
+
`previous block { number: ${previousBlock.number}, hash: ${previousBlock.hash} }`;
|
17
17
|
let messageDetail;
|
18
18
|
if (!details.followsPrevious) {
|
19
|
-
messageDetail = `previous block
|
19
|
+
messageDetail = `previous block hash mismatch`;
|
20
20
|
}
|
21
21
|
else if (!details.isPlusOne) {
|
22
|
-
messageDetail = `
|
22
|
+
messageDetail = `number is not plus one`;
|
23
23
|
}
|
24
24
|
else if (!details.isAfterPrevious) {
|
25
25
|
messageDetail = `previous timestamp is after current timestamp: ${previousBlock.timestamp} VS ${nextBlock.timestamp}`;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is-block-chained.js","sourceRoot":"","sources":["../source/is-block-chained.ts"],"names":[],"mappings":"AASA,MAAM,sBAAsB,GAAG,CAC9B,aAAyC,EACzC,SAAqC,EACf,EAAE;IACxB,MAAM,eAAe,GAAY,SAAS,CAAC,
|
1
|
+
{"version":3,"file":"is-block-chained.js","sourceRoot":"","sources":["../source/is-block-chained.ts"],"names":[],"mappings":"AASA,MAAM,sBAAsB,GAAG,CAC9B,aAAyC,EACzC,SAAqC,EACf,EAAE;IACxB,MAAM,eAAe,GAAY,SAAS,CAAC,UAAU,KAAK,aAAa,CAAC,IAAI,CAAC;IAC7E,MAAM,SAAS,GAAY,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,MAAM,eAAe,GAAY,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IAE/E,MAAM,SAAS,GAAY,eAAe,IAAI,SAAS,IAAI,eAAe,CAAC;IAE3E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,aAAyC,EACzC,SAAqC,EAC3B,EAAE,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;AAEzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC7C,aAAyC,EACzC,SAAqC,EAC5B,EAAE;IACX,MAAM,OAAO,GAAwB,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAEtF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,aAAa,GAClB,mBAAmB,SAAS,CAAC,MAAM,WAAW,SAAS,CAAC,IAAI,IAAI;QAChE,eAAe,SAAS,CAAC,UAAU,2BAA2B;QAC9D,4BAA4B,aAAa,CAAC,MAAM,WAAW,aAAa,CAAC,IAAI,IAAI,CAAC;IAEnF,IAAI,aAAiC,CAAC;IAEtC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9B,aAAa,GAAG,8BAA8B,CAAC;IAChD,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/B,aAAa,GAAG,wBAAwB,CAAC;IAC1C,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACrC,aAAa,GAAG,kDAAkD,aAAa,CAAC,SAAS,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;IACvH,CAAC;IAED,OAAO,GAAG,aAAa,KAAK,aAAa,EAAE,CAAC;AAC7C,CAAC,CAAC"}
|
@@ -12,7 +12,7 @@ import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
12
12
|
import { BigNumber } from "@mainsail/utils";
|
13
13
|
let SupplyCalculator = class SupplyCalculator {
|
14
14
|
calculateSupply(height) {
|
15
|
-
const initialSupply = BigNumber.make(this.configuration.get("genesisBlock.block.
|
15
|
+
const initialSupply = BigNumber.make(this.configuration.get("genesisBlock.block.amount"));
|
16
16
|
const milestones = this.configuration.get("milestones");
|
17
17
|
const genesisHeight = this.configuration.getGenesisHeight();
|
18
18
|
if (height === genesisHeight || milestones.length === 0) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"supply-calculator.js","sourceRoot":"","sources":["../source/supply-calculator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAI5B,eAAe,CAAC,MAAc;QAC7B,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"supply-calculator.js","sourceRoot":"","sources":["../source/supply-calculator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAI5B,eAAe,CAAC,MAAc;QAC7B,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAE1F,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE5D,IAAI,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,aAAa,CAAC;QACtB,CAAC;QAED,IAAI,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC;QACxC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,OAAO,aAAa,GAAG,MAAM,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAEpD,IAAI,UAAU,GAAW,MAAM,GAAG,aAAa,CAAC;YAEhD,IAAI,aAAa,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjG,UAAU,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC;gBACtD,aAAa,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,aAAa,IAAI,UAAU,CAAC;YAE5B,IAAI,aAAa,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvC,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAClG,CAAC;QACF,CAAC;QAED,OAAO,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,CAAC;CACD,CAAA;AApCiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;uDACiB;AAFpD,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAsC5B"}
|
@@ -16,7 +16,7 @@ let TimestampCalculator = class TimestampCalculator {
|
|
16
16
|
if (round > 100_000) {
|
17
17
|
throw new Error(`Round ${round} is too high`);
|
18
18
|
}
|
19
|
-
const milestone = this.configuration.getMilestone(previousBlock.data.
|
19
|
+
const milestone = this.configuration.getMilestone(previousBlock.data.number + 1);
|
20
20
|
const roundForMath = Math.max(0, round - 1);
|
21
21
|
return (previousBlock.data.timestamp +
|
22
22
|
// Append block time
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mainsail/blockchain-utils",
|
3
|
-
"version": "0.0.1-evm.
|
3
|
+
"version": "0.0.1-evm.18",
|
4
4
|
"description": "Common blockchain utils for the Mainsail blockchain.",
|
5
5
|
"license": "GPL-3.0-only",
|
6
6
|
"contributors": [],
|
@@ -11,10 +11,10 @@
|
|
11
11
|
"/distribution"
|
12
12
|
],
|
13
13
|
"dependencies": {
|
14
|
-
"@mainsail/
|
15
|
-
"@mainsail/
|
16
|
-
"@mainsail/
|
17
|
-
"@mainsail/utils": "0.0.1-evm.
|
14
|
+
"@mainsail/contracts": "0.0.1-evm.18",
|
15
|
+
"@mainsail/kernel": "0.0.1-evm.18",
|
16
|
+
"@mainsail/container": "0.0.1-evm.18",
|
17
|
+
"@mainsail/utils": "0.0.1-evm.18"
|
18
18
|
},
|
19
19
|
"devDependencies": {
|
20
20
|
"uvu": "0.5.6"
|