starknet 5.19.2 → 5.19.4
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/CHANGELOG.md +13 -0
- package/dist/index.d.ts +325 -306
- package/dist/index.global.js +211 -240
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +27 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -72,6 +72,7 @@ __export(src_exports, {
|
|
|
72
72
|
defaultProvider: () => defaultProvider,
|
|
73
73
|
ec: () => ec_exports,
|
|
74
74
|
encode: () => encode_exports,
|
|
75
|
+
events: () => events_exports,
|
|
75
76
|
extractContractHashes: () => extractContractHashes,
|
|
76
77
|
fixProto: () => fixProto,
|
|
77
78
|
fixStack: () => fixStack,
|
|
@@ -196,7 +197,7 @@ function sanitizeHex(hex) {
|
|
|
196
197
|
function utf8ToArray(str) {
|
|
197
198
|
return new TextEncoder().encode(str);
|
|
198
199
|
}
|
|
199
|
-
var pascalToSnake = (text) => text.split(/(?=[A-Z])/).join("_").toUpperCase();
|
|
200
|
+
var pascalToSnake = (text) => !/[a-z]/.test(text) ? text.split(/(?=[A-Z])/).join("_").toUpperCase() : text;
|
|
200
201
|
|
|
201
202
|
// src/constants.ts
|
|
202
203
|
var HEX_STR_TRANSACTION_VERSION_1 = "0x1";
|
|
@@ -2517,14 +2518,14 @@ __export(selector_exports, {
|
|
|
2517
2518
|
keccakBn: () => keccakBn,
|
|
2518
2519
|
starknetKeccak: () => starknetKeccak
|
|
2519
2520
|
});
|
|
2520
|
-
var
|
|
2521
|
+
var import_starknet = require("@scure/starknet");
|
|
2521
2522
|
function keccakBn(value) {
|
|
2522
2523
|
const hexWithoutPrefix = removeHexPrefix(toHex(BigInt(value)));
|
|
2523
2524
|
const evenHex = hexWithoutPrefix.length % 2 === 0 ? hexWithoutPrefix : `0${hexWithoutPrefix}`;
|
|
2524
|
-
return addHexPrefix((0,
|
|
2525
|
+
return addHexPrefix((0, import_starknet.keccak)(hexToBytes(addHexPrefix(evenHex))).toString(16));
|
|
2525
2526
|
}
|
|
2526
2527
|
function keccakHex(value) {
|
|
2527
|
-
return addHexPrefix((0,
|
|
2528
|
+
return addHexPrefix((0, import_starknet.keccak)(utf8ToArray(value)).toString(16));
|
|
2528
2529
|
}
|
|
2529
2530
|
function starknetKeccak(value) {
|
|
2530
2531
|
const hash = BigInt(keccakHex(value));
|
|
@@ -3095,10 +3096,6 @@ function orderPropsByAbi(unorderedObject, abiOfObject, structs, enums) {
|
|
|
3095
3096
|
if (isTypeEthAddress(abiType)) {
|
|
3096
3097
|
return unorderedItem;
|
|
3097
3098
|
}
|
|
3098
|
-
if (isTypeStruct(abiType, structs)) {
|
|
3099
|
-
const abiOfStruct = structs[abiType].members;
|
|
3100
|
-
return orderStruct(unorderedItem, abiOfStruct);
|
|
3101
|
-
}
|
|
3102
3099
|
if (isTypeUint256(abiType)) {
|
|
3103
3100
|
const u256 = unorderedItem;
|
|
3104
3101
|
if (typeof u256 !== "object") {
|
|
@@ -3109,6 +3106,10 @@ function orderPropsByAbi(unorderedObject, abiOfObject, structs, enums) {
|
|
|
3109
3106
|
}
|
|
3110
3107
|
return { low: u256.low, high: u256.high };
|
|
3111
3108
|
}
|
|
3109
|
+
if (isTypeStruct(abiType, structs)) {
|
|
3110
|
+
const abiOfStruct = structs[abiType].members;
|
|
3111
|
+
return orderStruct(unorderedItem, abiOfStruct);
|
|
3112
|
+
}
|
|
3112
3113
|
return unorderedItem;
|
|
3113
3114
|
};
|
|
3114
3115
|
const orderStruct = (unorderedObject2, abiObject) => {
|
|
@@ -4006,7 +4007,7 @@ __export(hash_exports, {
|
|
|
4006
4007
|
transactionVersion: () => transactionVersion,
|
|
4007
4008
|
transactionVersion_2: () => transactionVersion_2
|
|
4008
4009
|
});
|
|
4009
|
-
var
|
|
4010
|
+
var import_starknet2 = require("@scure/starknet");
|
|
4010
4011
|
|
|
4011
4012
|
// src/utils/ec.ts
|
|
4012
4013
|
var ec_exports = {};
|
|
@@ -4014,7 +4015,7 @@ __export(ec_exports, {
|
|
|
4014
4015
|
starkCurve: () => starkCurve,
|
|
4015
4016
|
weierstrass: () => weierstrass
|
|
4016
4017
|
});
|
|
4017
|
-
var starkCurve = __toESM(require("
|
|
4018
|
+
var starkCurve = __toESM(require("@scure/starknet"));
|
|
4018
4019
|
var weierstrass = __toESM(require("@noble/curves/abstract/weierstrass"));
|
|
4019
4020
|
|
|
4020
4021
|
// src/utils/json.ts
|
|
@@ -4181,7 +4182,7 @@ function computeLegacyContractClassHash(contract) {
|
|
|
4181
4182
|
]);
|
|
4182
4183
|
}
|
|
4183
4184
|
function hashBuiltins(builtins) {
|
|
4184
|
-
return (0,
|
|
4185
|
+
return (0, import_starknet2.poseidonHashMany)(
|
|
4185
4186
|
builtins.flatMap((it) => {
|
|
4186
4187
|
return BigInt(encodeShortString(it));
|
|
4187
4188
|
})
|
|
@@ -4191,7 +4192,7 @@ function hashEntryPoint(data) {
|
|
|
4191
4192
|
const base = data.flatMap((it) => {
|
|
4192
4193
|
return [BigInt(it.selector), BigInt(it.offset), hashBuiltins(it.builtins)];
|
|
4193
4194
|
});
|
|
4194
|
-
return (0,
|
|
4195
|
+
return (0, import_starknet2.poseidonHashMany)(base);
|
|
4195
4196
|
}
|
|
4196
4197
|
function computeCompiledClassHash(casm) {
|
|
4197
4198
|
const COMPILED_CLASS_VERSION = "COMPILED_CLASS_V1";
|
|
@@ -4199,9 +4200,9 @@ function computeCompiledClassHash(casm) {
|
|
|
4199
4200
|
const externalEntryPointsHash = hashEntryPoint(casm.entry_points_by_type.EXTERNAL);
|
|
4200
4201
|
const l1Handlers = hashEntryPoint(casm.entry_points_by_type.L1_HANDLER);
|
|
4201
4202
|
const constructor = hashEntryPoint(casm.entry_points_by_type.CONSTRUCTOR);
|
|
4202
|
-
const bytecode = (0,
|
|
4203
|
+
const bytecode = (0, import_starknet2.poseidonHashMany)(casm.bytecode.map((it) => BigInt(it)));
|
|
4203
4204
|
return toHex(
|
|
4204
|
-
(0,
|
|
4205
|
+
(0, import_starknet2.poseidonHashMany)([
|
|
4205
4206
|
compiledClassVersion,
|
|
4206
4207
|
externalEntryPointsHash,
|
|
4207
4208
|
l1Handlers,
|
|
@@ -4214,7 +4215,7 @@ function hashEntryPointSierra(data) {
|
|
|
4214
4215
|
const base = data.flatMap((it) => {
|
|
4215
4216
|
return [BigInt(it.selector), BigInt(it.function_idx)];
|
|
4216
4217
|
});
|
|
4217
|
-
return (0,
|
|
4218
|
+
return (0, import_starknet2.poseidonHashMany)(base);
|
|
4218
4219
|
}
|
|
4219
4220
|
function hashAbi(sierra) {
|
|
4220
4221
|
const indentString = formatSpaces(stringify2(sierra.abi, null));
|
|
@@ -4227,9 +4228,9 @@ function computeSierraContractClassHash(sierra) {
|
|
|
4227
4228
|
const l1Handlers = hashEntryPointSierra(sierra.entry_points_by_type.L1_HANDLER);
|
|
4228
4229
|
const constructor = hashEntryPointSierra(sierra.entry_points_by_type.CONSTRUCTOR);
|
|
4229
4230
|
const abiHash = hashAbi(sierra);
|
|
4230
|
-
const sierraProgram = (0,
|
|
4231
|
+
const sierraProgram = (0, import_starknet2.poseidonHashMany)(sierra.sierra_program.map((it) => BigInt(it)));
|
|
4231
4232
|
return toHex(
|
|
4232
|
-
(0,
|
|
4233
|
+
(0, import_starknet2.poseidonHashMany)([
|
|
4233
4234
|
compiledClassVersion,
|
|
4234
4235
|
externalEntryPointsHash,
|
|
4235
4236
|
l1Handlers,
|
|
@@ -4259,7 +4260,7 @@ __export(stark_exports, {
|
|
|
4259
4260
|
signatureToDecimalArray: () => signatureToDecimalArray,
|
|
4260
4261
|
signatureToHexArray: () => signatureToHexArray
|
|
4261
4262
|
});
|
|
4262
|
-
var
|
|
4263
|
+
var import_starknet3 = require("@scure/starknet");
|
|
4263
4264
|
var import_pako = require("pako");
|
|
4264
4265
|
function compressProgram(jsonProgram) {
|
|
4265
4266
|
const stringified = typeof jsonProgram === "string" ? jsonProgram : stringify2(jsonProgram);
|
|
@@ -4273,8 +4274,8 @@ function decompressProgram(base64) {
|
|
|
4273
4274
|
return parse2(decompressed);
|
|
4274
4275
|
}
|
|
4275
4276
|
function randomAddress() {
|
|
4276
|
-
const randomKeyPair =
|
|
4277
|
-
return (0,
|
|
4277
|
+
const randomKeyPair = import_starknet3.utils.randomPrivateKey();
|
|
4278
|
+
return (0, import_starknet3.getStarkKey)(randomKeyPair);
|
|
4278
4279
|
}
|
|
4279
4280
|
function makeAddress(input) {
|
|
4280
4281
|
return addHexPrefix(input).toLowerCase();
|
|
@@ -6713,6 +6714,11 @@ var AccountInterface = class extends ProviderInterface {
|
|
|
6713
6714
|
};
|
|
6714
6715
|
|
|
6715
6716
|
// src/utils/events/index.ts
|
|
6717
|
+
var events_exports = {};
|
|
6718
|
+
__export(events_exports, {
|
|
6719
|
+
getAbiEvents: () => getAbiEvents,
|
|
6720
|
+
parseEvents: () => parseEvents
|
|
6721
|
+
});
|
|
6716
6722
|
function getAbiEvents(abi) {
|
|
6717
6723
|
return abi.filter((abiEntry) => abiEntry.type === "event" && (abiEntry.size || abiEntry.kind !== "enum")).reduce((acc, abiEntry) => {
|
|
6718
6724
|
const entryName = abiEntry.name.slice(abiEntry.name.lastIndexOf(":") + 1);
|
|
@@ -7157,6 +7163,7 @@ var number = num_exports;
|
|
|
7157
7163
|
defaultProvider,
|
|
7158
7164
|
ec,
|
|
7159
7165
|
encode,
|
|
7166
|
+
events,
|
|
7160
7167
|
extractContractHashes,
|
|
7161
7168
|
fixProto,
|
|
7162
7169
|
fixStack,
|