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;
|
|
1
|
+
{"version":3,"file":"ScriptBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/vm/ScriptBuilder.ts"],"names":[],"mappings":"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"}
|