phantasma-sdk-ts 0.3.0 → 0.4.0

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.
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ScriptBuilder = void 0;
7
7
  const bs58_1 = __importDefault(require("bs58"));
8
8
  const index_js_1 = require("../interfaces/index.js");
9
+ const CarbonSerialization_js_1 = require("../types/CarbonSerialization.js");
9
10
  const index_js_2 = require("../types/index.js");
10
11
  const index_js_3 = require("../utils/index.js");
11
12
  const Opcode_js_1 = require("./Opcode.js");
@@ -102,6 +103,11 @@ class ScriptBuilder {
102
103
  }
103
104
  return data;
104
105
  }
106
+ EmitLoadBigInt(reg, value) {
107
+ const bytes = Array.from((0, CarbonSerialization_js_1.bigIntToTwosComplementLE)(value));
108
+ this.EmitLoadBytes(reg, bytes, VMType_js_1.VMType.Number);
109
+ return this;
110
+ }
105
111
  EmitLoad(reg, obj) {
106
112
  let structType = Object.getPrototypeOf(obj).constructor.name;
107
113
  switch (typeof obj) {
@@ -115,6 +121,10 @@ class ScriptBuilder {
115
121
  this.EmitLoadBytes(reg, bytes, VMType_js_1.VMType.Bool);
116
122
  break;
117
123
  }
124
+ case 'bigint': {
125
+ this.EmitLoadBigInt(reg, obj);
126
+ break;
127
+ }
118
128
  case 'number': {
119
129
  // obj is BigInteger
120
130
  // var bytes = val.ToSignedByteArray();
@@ -1,5 +1,6 @@
1
1
  import base58 from 'bs58';
2
2
  import { ISerializable } from '../interfaces/index.js';
3
+ import { bigIntToTwosComplementLE } from '../types/CarbonSerialization.js';
3
4
  import { Address, PBinaryWriter, Serialization, Timestamp } from '../types/index.js';
4
5
  import { numberToByteArray, stringToUint8Array, bytesToHex } from '../utils/index.js';
5
6
  import { Opcode } from './Opcode.js';
@@ -96,6 +97,11 @@ export class ScriptBuilder {
96
97
  }
97
98
  return data;
98
99
  }
100
+ EmitLoadBigInt(reg, value) {
101
+ const bytes = Array.from(bigIntToTwosComplementLE(value));
102
+ this.EmitLoadBytes(reg, bytes, VMType.Number);
103
+ return this;
104
+ }
99
105
  EmitLoad(reg, obj) {
100
106
  let structType = Object.getPrototypeOf(obj).constructor.name;
101
107
  switch (typeof obj) {
@@ -109,6 +115,10 @@ export class ScriptBuilder {
109
115
  this.EmitLoadBytes(reg, bytes, VMType.Bool);
110
116
  break;
111
117
  }
118
+ case 'bigint': {
119
+ this.EmitLoadBigInt(reg, obj);
120
+ break;
121
+ }
112
122
  case 'number': {
113
123
  // obj is BigInteger
114
124
  // var bytes = val.ToSignedByteArray();
@@ -27,6 +27,7 @@ export declare class ScriptBuilder {
27
27
  EmitBigInteger(value: string): this;
28
28
  EmitAddress(textAddress: string): this;
29
29
  RawString(value: string): any[];
30
+ private EmitLoadBigInt;
30
31
  EmitLoad(reg: number, obj: any): this;
31
32
  EmitLoadBytes(reg: number, bytes: byte[], type?: VMType): this;
32
33
  EmitLoadArray(reg: number, obj: any): this;
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/vm/ScriptBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAiB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,KAAK,IAAI,GAAG,MAAM,CAAC;AAInB,qBAAa,aAAa;IACxB,eAAe,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAC/C,cAAc,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAEvC,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,aAAa,CAAC;IAEtB,WAAW,SAAyC;WAE7C,aAAa,IAAI,aAAa;;IASrC,WAAW;IAMX,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAKnB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ5C,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAM1B,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAMzB,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAMxB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,IAAQ,GAAG,IAAI;IAOhD,cAAc,CAAC,KAAK,EAAE,MAAM;IAuB5B,WAAW,CAAC,WAAW,EAAE,MAAM;IAKtC,SAAS,CAAC,KAAK,EAAE,MAAM;IAWhB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IA6DrC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,GAAE,MAAqB,GAAG,IAAI;IAW5E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAmB1C,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI;IAO5D,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;IAwClD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBhD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAQhD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAkB3D,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAY9C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOhD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOhD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,IAAI;IAsB9D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI;IAe7C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAevE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE;IAS5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAU9C,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;IAkB9D,QAAQ,CACb,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,EAAE,EAAE,MAAM,GAAG,OAAO,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI;IAIA,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI1C,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzD,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO/E,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAa9B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE;IAM7B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAuC/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBtC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAQ9B,SAAS,CAAC,IAAI,EAAE,MAAM;IAKtB,UAAU,CAAC,IAAI,EAAE,MAAM;IAMvB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;IAMzB,YAAY,CAAC,MAAM,EAAE,MAAM;IAK3B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKtC"}
1
+ {"version":3,"file":"ScriptBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/vm/ScriptBuilder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phantasma-sdk-ts",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Typescript SDK for interacting with the Phantasma Chain",
5
5
  "author": "Phantasma Team",
6
6
  "main": "dist/cjs/index.js",