@mainsail/crypto-block 0.0.1-evm.10 → 0.0.1-evm.11

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.
@@ -5,7 +5,7 @@ export declare class Deserializer implements Contracts.Crypto.BlockDeserializer
5
5
  private readonly idFactory;
6
6
  private readonly transactionFactory;
7
7
  private readonly serializer;
8
- private readonly blockSerializer;
8
+ private readonly headerSize;
9
9
  deserializeHeader(serialized: Buffer): Promise<Contracts.Crypto.BlockHeader>;
10
10
  deserializeWithTransactions(serialized: Buffer): Promise<Contracts.Crypto.BlockWithTransactions>;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../source/deserializer.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAOpE,qBACa,YAAa,YAAW,SAAS,CAAC,MAAM,CAAC,iBAAiB;;IAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IAGvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAGzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAG9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IAEvD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAU5E,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC;CAyG7G"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../source/deserializer.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAOpE,qBACa,YAAa,YAAW,SAAS,CAAC,MAAM,CAAC,iBAAiB;;IAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IAGvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAGzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAG9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE9B,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAU5E,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC;CAyG7G"}
@@ -45,7 +45,7 @@ _Deserializer_instances = new WeakSet();
45
45
  _Deserializer_deserializeBufferHeader = async function _Deserializer_deserializeBufferHeader(buffer) {
46
46
  const block = {};
47
47
  await this.serializer.deserialize(buffer, block, {
48
- length: this.blockSerializer.headerSize(),
48
+ length: this.headerSize(),
49
49
  schema: {
50
50
  version: {
51
51
  type: "uint8",
@@ -132,9 +132,9 @@ __decorate([
132
132
  __metadata("design:type", Object)
133
133
  ], Deserializer.prototype, "serializer", void 0);
134
134
  __decorate([
135
- inject(Identifiers.Cryptography.Block.Serializer),
136
- __metadata("design:type", Object)
137
- ], Deserializer.prototype, "blockSerializer", void 0);
135
+ inject(Identifiers.Cryptography.Block.HeaderSize),
136
+ __metadata("design:type", Function)
137
+ ], Deserializer.prototype, "headerSize", void 0);
138
138
  Deserializer = __decorate([
139
139
  injectable()
140
140
  ], Deserializer);
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../source/deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../source/deserializer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAS,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;;IAgIP,CAAC;IAnHO,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAChD,MAAM,MAAM,GAAe,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE7D,MAAM,MAAM,GAA8C,MAAM,uBAAA,IAAI,sEAAyB,MAA7B,IAAI,EAA0B,MAAM,CAAC,CAAC;QAEtG,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,UAAkB;QAC1D,MAAM,MAAM,GAAe,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE7D,MAAM,KAAK,GAA8C,MAAM,uBAAA,IAAI,sEAAyB,MAA7B,IAAI,EAA0B,MAAM,CAAC,CAAC;QAErG,IAAI,YAAY,GAAmC,EAAE,CAAC;QAEtD,IAAI,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,YAAY,GAAG,MAAM,uBAAA,IAAI,sEAAyB,MAA7B,IAAI,EAA0B,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;CA2FD,CAAA;;wCAzFA,KAAK,gDAA0B,MAAkB;IAChD,MAAM,KAAK,GAAG,EAAkC,CAAC;IAEjD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAA6B,MAAM,EAAE,KAAK,EAAE;QAC5E,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;QACzB,MAAM,EAAE;YACP,OAAO,EAAE;gBACR,IAAI,EAAE,OAAO;aACb;YACD,SAAS,EAAE;gBACV,IAAI,EAAE,QAAQ;aACd;YACD,MAAM,EAAE;gBACP,IAAI,EAAE,QAAQ;aACd;YACD,KAAK,EAAE;gBACN,IAAI,EAAE,QAAQ;aACd;YACD,aAAa,EAAE;gBACd,IAAI,EAAE,MAAM;aACZ;YACD,SAAS,EAAE;gBACV,IAAI,EAAE,MAAM;aACZ;YACD,oBAAoB,EAAE;gBACrB,IAAI,EAAE,QAAQ;aACd;YACD,YAAY,EAAE;gBACb,IAAI,EAAE,QAAQ;aACd;YACD,WAAW,EAAE;gBACZ,IAAI,EAAE,SAAS;aACf;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,MAAM,EAAE;gBACP,IAAI,EAAE,SAAS;aACf;YACD,aAAa,EAAE;gBACd,IAAI,EAAE,QAAQ;aACd;YACD,WAAW,EAAE;gBACZ,IAAI,EAAE,MAAM;aACZ;YACD,gBAAgB,EAAE;gBACjB,IAAI,EAAE,SAAS;aACf;SACD;KACD,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;wCAED,KAAK,gDACJ,KAAiC,EACjC,GAAe;IAEf,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAA6B,GAAG,EAAE,KAAK,EAAE;QACzE,MAAM,EAAE,KAAK,CAAC,aAAa;QAC3B,MAAM,EAAE;YACP,YAAY,EAAE;gBACb,IAAI,EAAE,cAAc;aACpB;SACD;KACD,CAAC,CAAC;IAEH;;;;;OAKG;IACH,MAAM,YAAY,GAAmC,EAAE,CAAC;IAExD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChE,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC;QAE9F,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AA7HgB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;8BACpB,SAAS;+CAAC;AAGtB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;8BACf,kBAAkB;wDAAC;AAGxC;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC;;gDACkB;AAG7C;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC;;gDACP;AAX/B,YAAY;IADxB,UAAU,EAAE;GACA,YAAY,CAgIxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAiCtC"}
@@ -14,6 +14,24 @@ export * from "./serializer.js";
14
14
  export * from "./verifier.js";
15
15
  export class ServiceProvider extends Providers.ServiceProvider {
16
16
  async register() {
17
+ this.app.bind(Identifiers.Cryptography.Block.HeaderSize).toFunction(() => {
18
+ const hashByteLength = this.app.get(Identifiers.Cryptography.Hash.Size.SHA256);
19
+ const generatorAddressByteLength = this.app.get(Identifiers.Cryptography.Identity.Address.Size);
20
+ return (1 + // version
21
+ 6 + // timestamp
22
+ 4 + // height
23
+ 4 + // round
24
+ hashByteLength + // previousBlock
25
+ hashByteLength + // stateHash
26
+ 2 + // numberOfTransactions
27
+ 4 + // totalGasUsed
28
+ 32 + // totalAmount
29
+ 32 + // totalFee
30
+ 32 + // reward
31
+ 4 + // payloadLength
32
+ hashByteLength + // payloadHash
33
+ generatorAddressByteLength);
34
+ });
17
35
  this.app.bind(Identifiers.Cryptography.Block.Deserializer).to(Deserializer).inSingletonScope();
18
36
  this.app.bind(Identifiers.Cryptography.Block.Factory).to(BlockFactory).inSingletonScope();
19
37
  this.app.bind(Identifiers.Cryptography.Block.IDFactory).to(IDFactory).inSingletonScope();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEvF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAA6B,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;YACxE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvF,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAExG,OAAO,CACN,CAAC,GAAG,UAAU;gBACd,CAAC,GAAG,YAAY;gBAChB,CAAC,GAAG,SAAS;gBACb,CAAC,GAAG,QAAQ;gBACZ,cAAc,GAAG,gBAAgB;gBACjC,cAAc,GAAG,YAAY;gBAC7B,CAAC,GAAG,uBAAuB;gBAC3B,CAAC,GAAG,eAAe;gBACnB,EAAE,GAAG,cAAc;gBACnB,EAAE,GAAG,WAAW;gBAChB,EAAE,GAAG,SAAS;gBACd,CAAC,GAAG,gBAAgB;gBACpB,cAAc,GAAG,cAAc;gBAC/B,0BAA0B,CAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEvF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAA6B,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;CACD"}
@@ -2,9 +2,7 @@
2
2
  import { Contracts } from "@mainsail/contracts";
3
3
  export declare class Serializer implements Contracts.Crypto.BlockSerializer {
4
4
  private readonly serializer;
5
- private readonly hashByteLength;
6
- private readonly generatorAddressByteLength;
7
- headerSize(): number;
5
+ private readonly headerSize;
8
6
  totalSize(block: Contracts.Crypto.BlockDataSerializable): number;
9
7
  serializeHeader(block: Contracts.Crypto.BlockDataSerializable): Promise<Buffer>;
10
8
  serializeWithTransactions(block: Contracts.Crypto.BlockDataSerializable): Promise<Buffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,qBACa,UAAW,YAAW,SAAS,CAAC,MAAM,CAAC,eAAe;IAGlE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAG9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGzC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IAE9C,UAAU,IAAI,MAAM;IAmBpB,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,MAAM;IAI1D,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmD/E,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAqDtG"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,qBACa,UAAW,YAAW,SAAS,CAAC,MAAM,CAAC,eAAe;IAGlE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAG9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAEpC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,MAAM;IAI1D,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmD/E,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAqDtG"}
@@ -11,22 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  import { inject, injectable, tagged } from "@mainsail/container";
12
12
  import { Contracts, Identifiers } from "@mainsail/contracts";
13
13
  let Serializer = class Serializer {
14
- headerSize() {
15
- return (1 + // version
16
- 6 + // timestamp
17
- 4 + // height
18
- 4 + // round
19
- this.hashByteLength + // previousBlock
20
- this.hashByteLength + // stateHash
21
- 2 + // numberOfTransactions
22
- 4 + // totalGasUsed
23
- 32 + // totalAmount
24
- 32 + // totalFee
25
- 32 + // reward
26
- 4 + // payloadLength
27
- this.hashByteLength + // payloadHash
28
- this.generatorAddressByteLength);
29
- }
30
14
  totalSize(block) {
31
15
  return this.headerSize() + block.payloadLength;
32
16
  }
@@ -140,13 +124,9 @@ __decorate([
140
124
  __metadata("design:type", Object)
141
125
  ], Serializer.prototype, "serializer", void 0);
142
126
  __decorate([
143
- inject(Identifiers.Cryptography.Hash.Size.SHA256),
144
- __metadata("design:type", Number)
145
- ], Serializer.prototype, "hashByteLength", void 0);
146
- __decorate([
147
- inject(Identifiers.Cryptography.Identity.Address.Size),
148
- __metadata("design:type", Number)
149
- ], Serializer.prototype, "generatorAddressByteLength", void 0);
127
+ inject(Identifiers.Cryptography.Block.HeaderSize),
128
+ __metadata("design:type", Function)
129
+ ], Serializer.prototype, "headerSize", void 0);
150
130
  Serializer = __decorate([
151
131
  injectable()
152
132
  ], Serializer);
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { Contracts } from "@mainsail/contracts";
2
2
  export declare class Verifier implements Contracts.Crypto.BlockVerifier {
3
3
  private readonly configuration;
4
- private readonly serializer;
5
4
  private readonly hashFactory;
5
+ private readonly headerSize;
6
6
  verify(block: Contracts.Crypto.Block): Promise<Contracts.Crypto.BlockVerification>;
7
7
  }
8
8
  //# sourceMappingURL=verifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../source/verifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAGpE,qBACa,QAAS,YAAW,SAAS,CAAC,MAAM,CAAC,aAAa;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAG/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAE/C,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;CAuH/F"}
1
+ {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../source/verifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAIpE,qBACa,QAAS,YAAW,SAAS,CAAC,MAAM,CAAC,aAAa;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAG5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE9B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;CAiI/F"}
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { inject, injectable } from "@mainsail/container";
11
11
  import { Contracts, Identifiers } from "@mainsail/contracts";
12
+ import { Utils as AppUtils } from "@mainsail/kernel";
12
13
  import { BigNumber } from "@mainsail/utils";
13
14
  let Verifier = class Verifier {
14
15
  async verify(block) {
@@ -20,9 +21,19 @@ let Verifier = class Verifier {
20
21
  };
21
22
  try {
22
23
  const constants = this.configuration.getMilestone(blockData.height);
23
- if (blockData.height === 0 &&
24
- blockData.previousBlock !== "0000000000000000000000000000000000000000000000000000000000000000") {
25
- result.errors.push("Genesis block has invalid previous block");
24
+ if (blockData.height === 0) {
25
+ let validPreviousBlock = false;
26
+ if (constants.snapshot) {
27
+ AppUtils.assert.defined(constants.snapshot.hash);
28
+ validPreviousBlock = blockData.previousBlock === constants.snapshot.hash;
29
+ }
30
+ else {
31
+ validPreviousBlock =
32
+ blockData.previousBlock === "0000000000000000000000000000000000000000000000000000000000000000";
33
+ }
34
+ if (!validPreviousBlock) {
35
+ result.errors.push("Genesis block has invalid previous block");
36
+ }
26
37
  }
27
38
  if (blockData.height !== 0 && !blockData.previousBlock) {
28
39
  result.errors.push("Invalid previous block");
@@ -33,8 +44,7 @@ let Verifier = class Verifier {
33
44
  if (blockData.version !== constants.block.version) {
34
45
  result.errors.push("Invalid block version");
35
46
  }
36
- const headerSize = this.serializer.headerSize();
37
- const totalSize = headerSize + block.header.payloadLength;
47
+ const totalSize = this.headerSize() + block.header.payloadLength;
38
48
  if (totalSize > constants.block.maxPayload) {
39
49
  result.errors.push(`Payload is too large: ${totalSize} > ${constants.block.maxPayload}`);
40
50
  }
@@ -80,7 +90,8 @@ let Verifier = class Verifier {
80
90
  totalPayloadLength += transaction.serialized.byteLength;
81
91
  payloadBuffers.push(bytes);
82
92
  }
83
- if (!totalAmount.isEqualTo(blockData.totalAmount)) {
93
+ if (!totalAmount.isEqualTo(blockData.totalAmount) && // Only the genesis block can have a 'totalAmount' while having no transactions.
94
+ (block.header.height > 0 || block.header.transactions.length > 0)) {
84
95
  result.errors.push("Invalid total amount");
85
96
  }
86
97
  if (!totalFee.isEqualTo(blockData.totalFee)) {
@@ -104,14 +115,14 @@ __decorate([
104
115
  inject(Identifiers.Cryptography.Configuration),
105
116
  __metadata("design:type", Object)
106
117
  ], Verifier.prototype, "configuration", void 0);
107
- __decorate([
108
- inject(Identifiers.Cryptography.Block.Serializer),
109
- __metadata("design:type", Object)
110
- ], Verifier.prototype, "serializer", void 0);
111
118
  __decorate([
112
119
  inject(Identifiers.Cryptography.Hash.Factory),
113
120
  __metadata("design:type", Object)
114
121
  ], Verifier.prototype, "hashFactory", void 0);
122
+ __decorate([
123
+ inject(Identifiers.Cryptography.Block.HeaderSize),
124
+ __metadata("design:type", Function)
125
+ ], Verifier.prototype, "headerSize", void 0);
115
126
  Verifier = __decorate([
116
127
  injectable()
117
128
  ], Verifier);
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../source/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../source/verifier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/crypto-block",
3
- "version": "0.0.1-evm.10",
3
+ "version": "0.0.1-evm.11",
4
4
  "description": "Block utilities for the Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -12,27 +12,27 @@
12
12
  ],
13
13
  "dependencies": {
14
14
  "ajv": "8.12.0",
15
- "@mainsail/contracts": "0.0.1-evm.10",
16
- "@mainsail/kernel": "0.0.1-evm.10",
17
- "@mainsail/crypto-transaction": "0.0.1-evm.10",
18
- "@mainsail/container": "0.0.1-evm.10",
19
- "@mainsail/utils": "0.0.1-evm.10"
15
+ "@mainsail/container": "0.0.1-evm.11",
16
+ "@mainsail/contracts": "0.0.1-evm.11",
17
+ "@mainsail/crypto-transaction": "0.0.1-evm.11",
18
+ "@mainsail/kernel": "0.0.1-evm.11",
19
+ "@mainsail/utils": "0.0.1-evm.11"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/lodash.clone": "^4.5.9",
23
23
  "lodash.clone": "^4.5.0",
24
24
  "uvu": "^0.5.6",
25
- "@mainsail/crypto-address-keccak256": "0.0.1-evm.10",
26
- "@mainsail/crypto-config": "0.0.1-evm.10",
27
- "@mainsail/crypto-consensus-bls12-381": "0.0.1-evm.10",
28
- "@mainsail/crypto-hash-bcrypto": "0.0.1-evm.10",
29
- "@mainsail/crypto-signature-ecdsa": "0.0.1-evm.10",
30
- "@mainsail/crypto-validation": "0.0.1-evm.10",
31
- "@mainsail/crypto-key-pair-ecdsa": "0.0.1-evm.10",
32
- "@mainsail/crypto-transaction-evm-call": "0.0.1-evm.10",
33
- "@mainsail/serializer": "0.0.1-evm.10",
34
- "@mainsail/validation": "0.0.1-evm.10",
35
- "@mainsail/crypto-wif": "0.0.1-evm.10"
25
+ "@mainsail/crypto-address-keccak256": "0.0.1-evm.11",
26
+ "@mainsail/crypto-config": "0.0.1-evm.11",
27
+ "@mainsail/crypto-consensus-bls12-381": "0.0.1-evm.11",
28
+ "@mainsail/crypto-hash-bcrypto": "0.0.1-evm.11",
29
+ "@mainsail/crypto-signature-ecdsa": "0.0.1-evm.11",
30
+ "@mainsail/crypto-transaction-evm-call": "0.0.1-evm.11",
31
+ "@mainsail/crypto-key-pair-ecdsa": "0.0.1-evm.11",
32
+ "@mainsail/crypto-validation": "0.0.1-evm.11",
33
+ "@mainsail/validation": "0.0.1-evm.11",
34
+ "@mainsail/crypto-wif": "0.0.1-evm.11",
35
+ "@mainsail/serializer": "0.0.1-evm.11"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=20.x"