starknet 9.2.0 → 9.2.1
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 +8 -0
- package/dist/index.d.ts +85 -35
- package/dist/index.global.js +173 -169
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +60 -56
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -57
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -78,8 +78,8 @@ import { PAYMASTER_API } from "@starknet-io/starknet-types-010";
|
|
|
78
78
|
|
|
79
79
|
// src/types/api/rpc.ts
|
|
80
80
|
var rpc_exports = {};
|
|
81
|
-
__reExport(rpc_exports,
|
|
82
|
-
import * as
|
|
81
|
+
__reExport(rpc_exports, starknet_types_010_star);
|
|
82
|
+
import * as starknet_types_010_star from "@starknet-io/starknet-types-010";
|
|
83
83
|
|
|
84
84
|
// src/types/api/index.ts
|
|
85
85
|
__reExport(api_exports, rpc_exports);
|
|
@@ -7102,7 +7102,7 @@ var Subscription = class {
|
|
|
7102
7102
|
}
|
|
7103
7103
|
};
|
|
7104
7104
|
|
|
7105
|
-
// src/channel/ws/
|
|
7105
|
+
// src/channel/ws/ws_0_10.ts
|
|
7106
7106
|
var WebSocketChannel = class {
|
|
7107
7107
|
/**
|
|
7108
7108
|
* The URL of the WebSocket RPC Node.
|
|
@@ -12194,7 +12194,10 @@ var WalletAccountV5 = class _WalletAccountV5 extends Account {
|
|
|
12194
12194
|
// src/utils/events/index.ts
|
|
12195
12195
|
var events_exports = {};
|
|
12196
12196
|
__export(events_exports, {
|
|
12197
|
+
addGetByPathMethod: () => addGetByPathMethod,
|
|
12198
|
+
filterEventsByAddress: () => filterEventsByAddress,
|
|
12197
12199
|
getAbiEvents: () => getAbiEvents,
|
|
12200
|
+
getEmittedEvents: () => getEmittedEvents,
|
|
12198
12201
|
isAbiEvent: () => isAbiEvent,
|
|
12199
12202
|
parseEvents: () => parseEvents
|
|
12200
12203
|
});
|
|
@@ -12268,52 +12271,79 @@ function mergeAbiEvents(target, source) {
|
|
|
12268
12271
|
return output;
|
|
12269
12272
|
}
|
|
12270
12273
|
function parseEvents(providerReceivedEvents, abiEvents, abiStructs, abiEnums, parser) {
|
|
12271
|
-
const ret = providerReceivedEvents.
|
|
12272
|
-
const
|
|
12273
|
-
|
|
12274
|
+
const ret = providerReceivedEvents.reduce((acc, recEvent) => {
|
|
12275
|
+
const eventKeys = [...recEvent.keys];
|
|
12276
|
+
const eventData = [...recEvent.data];
|
|
12277
|
+
let abiEvent = abiEvents[eventKeys.shift() ?? 0];
|
|
12274
12278
|
if (!abiEvent) {
|
|
12275
12279
|
return acc;
|
|
12276
12280
|
}
|
|
12277
12281
|
while (!abiEvent.name) {
|
|
12278
|
-
const hashName =
|
|
12282
|
+
const hashName = eventKeys.shift();
|
|
12279
12283
|
assert(!!hashName, 'Not enough data in "keys" property of this event.');
|
|
12280
12284
|
abiEvent = abiEvent[hashName];
|
|
12281
12285
|
}
|
|
12282
|
-
const
|
|
12283
|
-
parsedEvent
|
|
12284
|
-
const
|
|
12285
|
-
|
|
12286
|
+
const { from_address: _from, keys: _keys, data: _data, ...eventMetadata } = recEvent;
|
|
12287
|
+
const parsedEvent = eventMetadata;
|
|
12288
|
+
const eventName = abiEvent.name;
|
|
12289
|
+
parsedEvent[eventName] = {};
|
|
12290
|
+
const keysIter = eventKeys[Symbol.iterator]();
|
|
12291
|
+
const dataIter = eventData[Symbol.iterator]();
|
|
12286
12292
|
const abiEventKeys = abiEvent.members?.filter((it) => it.kind === "key") || abiEvent.keys;
|
|
12287
12293
|
const abiEventData = abiEvent.members?.filter((it) => it.kind === "data") || abiEvent.data;
|
|
12294
|
+
const parsedEventData = parsedEvent[eventName];
|
|
12288
12295
|
abiEventKeys.forEach((key) => {
|
|
12289
|
-
|
|
12296
|
+
parsedEventData[key.name] = responseParser({
|
|
12290
12297
|
responseIterator: keysIter,
|
|
12291
12298
|
output: key,
|
|
12292
12299
|
structs: abiStructs,
|
|
12293
12300
|
enums: abiEnums,
|
|
12294
12301
|
parser,
|
|
12295
|
-
parsedResult:
|
|
12302
|
+
parsedResult: parsedEventData
|
|
12296
12303
|
});
|
|
12297
12304
|
});
|
|
12298
12305
|
abiEventData.forEach((data) => {
|
|
12299
|
-
|
|
12306
|
+
parsedEventData[data.name] = responseParser({
|
|
12300
12307
|
responseIterator: dataIter,
|
|
12301
12308
|
output: data,
|
|
12302
12309
|
structs: abiStructs,
|
|
12303
12310
|
enums: abiEnums,
|
|
12304
12311
|
parser,
|
|
12305
|
-
parsedResult:
|
|
12312
|
+
parsedResult: parsedEventData
|
|
12306
12313
|
});
|
|
12307
12314
|
});
|
|
12308
|
-
if ("block_hash" in currentEvent) parsedEvent.block_hash = currentEvent.block_hash;
|
|
12309
|
-
if ("block_number" in currentEvent) parsedEvent.block_number = currentEvent.block_number;
|
|
12310
|
-
if ("transaction_hash" in currentEvent)
|
|
12311
|
-
parsedEvent.transaction_hash = currentEvent.transaction_hash;
|
|
12312
12315
|
acc.push(parsedEvent);
|
|
12313
12316
|
return acc;
|
|
12314
12317
|
}, []);
|
|
12315
12318
|
return ret;
|
|
12316
12319
|
}
|
|
12320
|
+
function addGetByPathMethod(parsedEvents) {
|
|
12321
|
+
Object.defineProperty(parsedEvents, "getByPath", {
|
|
12322
|
+
value: (path) => {
|
|
12323
|
+
const event = parsedEvents.find((ev) => Object.keys(ev).some((key) => key.includes(path)));
|
|
12324
|
+
const eventKey = Object.keys(event || {}).find((key) => key.includes(path));
|
|
12325
|
+
return eventKey && event ? event[eventKey] : null;
|
|
12326
|
+
},
|
|
12327
|
+
writable: false,
|
|
12328
|
+
enumerable: false,
|
|
12329
|
+
configurable: false
|
|
12330
|
+
});
|
|
12331
|
+
return parsedEvents;
|
|
12332
|
+
}
|
|
12333
|
+
function getEmittedEvents(receipt, contractAddress) {
|
|
12334
|
+
if (!receipt.events) return [];
|
|
12335
|
+
const eventsToEnrich = contractAddress ? filterEventsByAddress(receipt.events, contractAddress) : receipt.events;
|
|
12336
|
+
return eventsToEnrich.map((event) => ({
|
|
12337
|
+
...event,
|
|
12338
|
+
transaction_hash: receipt.transaction_hash,
|
|
12339
|
+
block_hash: receipt.block_hash,
|
|
12340
|
+
block_number: receipt.block_number
|
|
12341
|
+
}));
|
|
12342
|
+
}
|
|
12343
|
+
function filterEventsByAddress(events, contractAddress) {
|
|
12344
|
+
if (!events) return [];
|
|
12345
|
+
return events.filter((event) => toHex(event.from_address) === toHex(contractAddress));
|
|
12346
|
+
}
|
|
12317
12347
|
|
|
12318
12348
|
// src/contract/default.ts
|
|
12319
12349
|
function buildCall(contract, functionAbi) {
|
|
@@ -12574,45 +12604,19 @@ var Contract = class _Contract {
|
|
|
12574
12604
|
calldata
|
|
12575
12605
|
};
|
|
12576
12606
|
}
|
|
12577
|
-
// TODO: Demistify what is going on here ???
|
|
12578
|
-
// TODO: receipt status filtering test and fix this do not look right
|
|
12579
12607
|
parseEvents(receipt) {
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
|
|
12583
|
-
|
|
12584
|
-
|
|
12585
|
-
|
|
12586
|
-
|
|
12587
|
-
|
|
12588
|
-
|
|
12589
|
-
|
|
12590
|
-
|
|
12591
|
-
|
|
12592
|
-
}).filter((event) => toHex(event.from_address) === toHex(this.address), []) || [];
|
|
12593
|
-
parsed = parseEvents(
|
|
12594
|
-
emittedEvents,
|
|
12595
|
-
this.events,
|
|
12596
|
-
this.structs,
|
|
12597
|
-
CallData.getAbiEnum(this.abi),
|
|
12598
|
-
this.callData.parser
|
|
12599
|
-
);
|
|
12600
|
-
},
|
|
12601
|
-
_: () => {
|
|
12602
|
-
throw Error("This transaction was not successful.");
|
|
12603
|
-
}
|
|
12604
|
-
});
|
|
12605
|
-
Object.defineProperty(parsed, "getByPath", {
|
|
12606
|
-
value: (path) => {
|
|
12607
|
-
const event = parsed.find((ev) => Object.keys(ev).some((key) => key.includes(path)));
|
|
12608
|
-
const eventKey = Object.keys(event || {}).find((key) => key.includes(path));
|
|
12609
|
-
return eventKey && event ? event[eventKey] : null;
|
|
12610
|
-
},
|
|
12611
|
-
writable: false,
|
|
12612
|
-
enumerable: false,
|
|
12613
|
-
configurable: false
|
|
12614
|
-
});
|
|
12615
|
-
return parsed;
|
|
12608
|
+
if (!receipt.isSuccess()) {
|
|
12609
|
+
throw Error("This transaction was not successful.");
|
|
12610
|
+
}
|
|
12611
|
+
return addGetByPathMethod(
|
|
12612
|
+
parseEvents(
|
|
12613
|
+
getEmittedEvents(receipt.value, this.address),
|
|
12614
|
+
this.events,
|
|
12615
|
+
this.structs,
|
|
12616
|
+
CallData.getAbiEnum(this.abi),
|
|
12617
|
+
this.callData.parser
|
|
12618
|
+
)
|
|
12619
|
+
);
|
|
12616
12620
|
}
|
|
12617
12621
|
isCairo1() {
|
|
12618
12622
|
return cairo_exports.isCairo1Abi(this.abi);
|