starknet 6.9.0 → 6.10.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 +12 -0
- package/LICENSE +1 -1
- package/README.md +5 -9
- package/dist/account/default.cjs +655 -0
- package/dist/account/default.d.ts +67 -0
- package/dist/account/default.mjs +652 -0
- package/dist/account/index.cjs +27 -0
- package/dist/account/index.d.ts +2 -0
- package/dist/account/index.mjs +2 -0
- package/dist/account/interface.cjs +9 -0
- package/dist/account/interface.d.ts +301 -0
- package/dist/account/interface.mjs +3 -0
- package/dist/channel/index.cjs +27 -0
- package/dist/channel/index.d.ts +3 -0
- package/dist/channel/index.mjs +3 -0
- package/dist/channel/rpc_0_6.cjs +607 -0
- package/dist/channel/rpc_0_6.d.ts +78 -0
- package/dist/channel/rpc_0_6.mjs +543 -0
- package/dist/channel/rpc_0_7.cjs +619 -0
- package/dist/channel/rpc_0_7.d.ts +81 -0
- package/dist/channel/rpc_0_7.mjs +561 -0
- package/dist/constants.cjs +76 -0
- package/dist/constants.d.ts +70 -0
- package/dist/constants.mjs +60 -0
- package/dist/contract/contractFactory.cjs +93 -0
- package/dist/contract/contractFactory.d.ts +46 -0
- package/dist/contract/contractFactory.mjs +83 -0
- package/dist/contract/default.cjs +269 -0
- package/dist/contract/default.d.ts +58 -0
- package/dist/contract/default.mjs +254 -0
- package/dist/contract/index.cjs +38 -0
- package/dist/contract/index.d.ts +3 -0
- package/dist/contract/index.mjs +3 -0
- package/dist/contract/interface.cjs +13 -0
- package/dist/contract/interface.d.ts +128 -0
- package/dist/contract/interface.mjs +6 -0
- package/dist/index.cjs +267 -0
- package/dist/index.d.ts +45 -5991
- package/dist/index.global.js +728 -609
- package/dist/index.global.js.map +1 -1
- package/dist/index.mjs +39 -7320
- package/dist/provider/errors.cjs +50 -0
- package/dist/provider/errors.d.ts +16 -0
- package/dist/provider/errors.mjs +35 -0
- package/dist/provider/extensions/default.cjs +11 -0
- package/dist/provider/extensions/default.d.ts +6 -0
- package/dist/provider/extensions/default.mjs +5 -0
- package/dist/provider/extensions/starknetId.cjs +174 -0
- package/dist/provider/extensions/starknetId.d.ts +10 -0
- package/dist/provider/extensions/starknetId.mjs +230 -0
- package/dist/provider/index.cjs +56 -0
- package/dist/provider/index.d.ts +6 -0
- package/dist/provider/index.mjs +6 -0
- package/dist/provider/interface.cjs +8 -0
- package/dist/provider/interface.d.ts +261 -0
- package/dist/provider/interface.mjs +2 -0
- package/dist/provider/rpc.cjs +301 -0
- package/dist/provider/rpc.d.ts +115 -0
- package/dist/provider/rpc.mjs +302 -0
- package/dist/service/types.cjs +1 -0
- package/dist/service/types.d.ts +5 -0
- package/dist/service/types.mjs +0 -0
- package/dist/signer/default.cjs +105 -0
- package/dist/signer/default.d.ts +12 -0
- package/dist/signer/default.mjs +102 -0
- package/dist/signer/ethSigner.cjs +123 -0
- package/dist/signer/ethSigner.d.ts +25 -0
- package/dist/signer/ethSigner.mjs +140 -0
- package/dist/signer/index.cjs +38 -0
- package/dist/signer/index.d.ts +3 -0
- package/dist/signer/index.mjs +3 -0
- package/dist/signer/interface.cjs +8 -0
- package/dist/signer/interface.d.ts +115 -0
- package/dist/signer/interface.mjs +2 -0
- package/dist/types/account.cjs +1 -0
- package/dist/types/account.d.ts +79 -0
- package/dist/types/account.mjs +0 -0
- package/dist/types/api/index.cjs +30 -0
- package/dist/types/api/index.d.ts +4 -0
- package/dist/types/api/index.mjs +4 -0
- package/dist/types/api/jsonrpc/index.cjs +1 -0
- package/dist/types/api/jsonrpc/index.d.ts +21 -0
- package/dist/types/api/jsonrpc/index.mjs +0 -0
- package/dist/types/api/rpcspec_0_6/components.cjs +1 -0
- package/dist/types/api/rpcspec_0_6/components.d.ts +541 -0
- package/dist/types/api/rpcspec_0_6/components.mjs +0 -0
- package/dist/types/api/rpcspec_0_6/contract.cjs +1 -0
- package/dist/types/api/rpcspec_0_6/contract.d.ts +85 -0
- package/dist/types/api/rpcspec_0_6/contract.mjs +0 -0
- package/dist/types/api/rpcspec_0_6/errors.cjs +1 -0
- package/dist/types/api/rpcspec_0_6/errors.d.ts +128 -0
- package/dist/types/api/rpcspec_0_6/errors.mjs +0 -0
- package/dist/types/api/rpcspec_0_6/index.cjs +45 -0
- package/dist/types/api/rpcspec_0_6/index.d.ts +8 -0
- package/dist/types/api/rpcspec_0_6/index.mjs +5 -0
- package/dist/types/api/rpcspec_0_6/methods.cjs +1 -0
- package/dist/types/api/rpcspec_0_6/methods.d.ts +207 -0
- package/dist/types/api/rpcspec_0_6/methods.mjs +0 -0
- package/dist/types/api/rpcspec_0_6/nonspec.cjs +65 -0
- package/dist/types/api/rpcspec_0_6/nonspec.d.ts +147 -0
- package/dist/types/api/rpcspec_0_6/nonspec.mjs +59 -0
- package/dist/types/cairoEnum.cjs +1 -0
- package/dist/types/cairoEnum.d.ts +2 -0
- package/dist/types/cairoEnum.mjs +0 -0
- package/dist/types/calldata.cjs +27 -0
- package/dist/types/calldata.d.ts +23 -0
- package/dist/types/calldata.mjs +21 -0
- package/dist/types/contract.cjs +1 -0
- package/dist/types/contract.d.ts +27 -0
- package/dist/types/contract.mjs +0 -0
- package/dist/types/helpers/valuesType.cjs +1 -0
- package/dist/types/helpers/valuesType.d.ts +1 -0
- package/dist/types/helpers/valuesType.mjs +0 -0
- package/dist/types/index.cjs +121 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.mjs +10 -0
- package/dist/types/lib/contract/abi.cjs +1 -0
- package/dist/types/lib/contract/abi.d.ts +71 -0
- package/dist/types/lib/contract/abi.mjs +0 -0
- package/dist/types/lib/contract/index.cjs +50 -0
- package/dist/types/lib/contract/index.d.ts +26 -0
- package/dist/types/lib/contract/index.mjs +8 -0
- package/dist/types/lib/contract/legacy.cjs +1 -0
- package/dist/types/lib/contract/legacy.d.ts +33 -0
- package/dist/types/lib/contract/legacy.mjs +0 -0
- package/dist/types/lib/contract/sierra.cjs +1 -0
- package/dist/types/lib/contract/sierra.d.ts +52 -0
- package/dist/types/lib/contract/sierra.mjs +0 -0
- package/dist/types/lib/index.cjs +61 -0
- package/dist/types/lib/index.d.ts +259 -0
- package/dist/types/lib/index.mjs +36 -0
- package/dist/types/provider/configuration.cjs +1 -0
- package/dist/types/provider/configuration.d.ts +20 -0
- package/dist/types/provider/configuration.mjs +0 -0
- package/dist/types/provider/index.cjs +27 -0
- package/dist/types/provider/index.d.ts +2 -0
- package/dist/types/provider/index.mjs +2 -0
- package/dist/types/provider/response.cjs +30 -0
- package/dist/types/provider/response.d.ts +98 -0
- package/dist/types/provider/response.mjs +1 -0
- package/dist/types/provider/spec.cjs +1 -0
- package/dist/types/provider/spec.d.ts +49 -0
- package/dist/types/provider/spec.mjs +0 -0
- package/dist/types/signer.cjs +1 -0
- package/dist/types/signer.d.ts +49 -0
- package/dist/types/signer.mjs +0 -0
- package/dist/types/transactionReceipt.cjs +1 -0
- package/dist/types/transactionReceipt.d.ts +23 -0
- package/dist/types/transactionReceipt.mjs +0 -0
- package/dist/types/typedData.cjs +12 -0
- package/dist/types/typedData.d.ts +1 -0
- package/dist/types/typedData.mjs +3 -0
- package/dist/utils/address.cjs +44 -0
- package/dist/utils/address.d.ts +55 -0
- package/dist/utils/address.mjs +35 -0
- package/dist/utils/assert.cjs +11 -0
- package/dist/utils/assert.d.ts +12 -0
- package/dist/utils/assert.mjs +5 -0
- package/dist/utils/cairoDataTypes/felt.cjs +31 -0
- package/dist/utils/cairoDataTypes/felt.d.ts +6 -0
- package/dist/utils/cairoDataTypes/felt.mjs +27 -0
- package/dist/utils/cairoDataTypes/uint256.cjs +113 -0
- package/dist/utils/cairoDataTypes/uint256.d.ts +72 -0
- package/dist/utils/cairoDataTypes/uint256.mjs +103 -0
- package/dist/utils/cairoDataTypes/uint512.cjs +125 -0
- package/dist/utils/cairoDataTypes/uint512.d.ts +76 -0
- package/dist/utils/cairoDataTypes/uint512.mjs +123 -0
- package/dist/utils/calldata/byteArray.cjs +27 -0
- package/dist/utils/calldata/byteArray.d.ts +32 -0
- package/dist/utils/calldata/byteArray.mjs +20 -0
- package/dist/utils/calldata/cairo.cjs +114 -0
- package/dist/utils/calldata/cairo.d.ts +196 -0
- package/dist/utils/calldata/cairo.mjs +68 -0
- package/dist/utils/calldata/enum/CairoCustomEnum.cjs +55 -0
- package/dist/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
- package/dist/utils/calldata/enum/CairoCustomEnum.mjs +50 -0
- package/dist/utils/calldata/enum/CairoOption.cjs +55 -0
- package/dist/utils/calldata/enum/CairoOption.d.ts +37 -0
- package/dist/utils/calldata/enum/CairoOption.mjs +50 -0
- package/dist/utils/calldata/enum/CairoResult.cjs +54 -0
- package/dist/utils/calldata/enum/CairoResult.d.ts +36 -0
- package/dist/utils/calldata/enum/CairoResult.mjs +47 -0
- package/dist/utils/calldata/enum/index.cjs +38 -0
- package/dist/utils/calldata/enum/index.d.ts +3 -0
- package/dist/utils/calldata/enum/index.mjs +3 -0
- package/dist/utils/calldata/formatter.cjs +55 -0
- package/dist/utils/calldata/formatter.d.ts +9 -0
- package/dist/utils/calldata/formatter.mjs +58 -0
- package/dist/utils/calldata/index.cjs +272 -0
- package/dist/utils/calldata/index.d.ts +90 -0
- package/dist/utils/calldata/index.mjs +276 -0
- package/dist/utils/calldata/parser/index.cjs +29 -0
- package/dist/utils/calldata/parser/index.d.ts +5 -0
- package/dist/utils/calldata/parser/index.mjs +21 -0
- package/dist/utils/calldata/parser/interface.cjs +8 -0
- package/dist/utils/calldata/parser/interface.d.ts +20 -0
- package/dist/utils/calldata/parser/interface.mjs +2 -0
- package/dist/utils/calldata/parser/parser-0-1.1.0.cjs +38 -0
- package/dist/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
- package/dist/utils/calldata/parser/parser-0-1.1.0.mjs +31 -0
- package/dist/utils/calldata/parser/parser-2.0.0.cjs +42 -0
- package/dist/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
- package/dist/utils/calldata/parser/parser-2.0.0.mjs +37 -0
- package/dist/utils/calldata/propertyOrder.cjs +159 -0
- package/dist/utils/calldata/propertyOrder.d.ts +2 -0
- package/dist/utils/calldata/propertyOrder.mjs +189 -0
- package/dist/utils/calldata/requestParser.cjs +204 -0
- package/dist/utils/calldata/requestParser.d.ts +11 -0
- package/dist/utils/calldata/requestParser.mjs +231 -0
- package/dist/utils/calldata/responseParser.cjs +200 -0
- package/dist/utils/calldata/responseParser.d.ts +11 -0
- package/dist/utils/calldata/responseParser.mjs +201 -0
- package/dist/utils/calldata/tuple.cjs +106 -0
- package/dist/utils/calldata/tuple.d.ts +6 -0
- package/dist/utils/calldata/tuple.mjs +88 -0
- package/dist/utils/calldata/validate.cjs +241 -0
- package/dist/utils/calldata/validate.d.ts +6 -0
- package/dist/utils/calldata/validate.mjs +315 -0
- package/dist/utils/contract.cjs +40 -0
- package/dist/utils/contract.d.ts +37 -0
- package/dist/utils/contract.mjs +31 -0
- package/dist/utils/ec.cjs +12 -0
- package/dist/utils/ec.d.ts +2 -0
- package/dist/utils/ec.mjs +2 -0
- package/dist/utils/encode.cjs +78 -0
- package/dist/utils/encode.d.ts +207 -0
- package/dist/utils/encode.mjs +56 -0
- package/dist/utils/eth.cjs +22 -0
- package/dist/utils/eth.d.ts +22 -0
- package/dist/utils/eth.mjs +14 -0
- package/dist/utils/events/index.cjs +144 -0
- package/dist/utils/events/index.d.ts +84 -0
- package/dist/utils/events/index.mjs +136 -0
- package/dist/utils/fetchPonyfill.cjs +14 -0
- package/dist/utils/fetchPonyfill.d.ts +2 -0
- package/dist/utils/fetchPonyfill.mjs +5 -0
- package/dist/utils/hash/classHash.cjs +151 -0
- package/dist/utils/hash/classHash.d.ts +120 -0
- package/dist/utils/hash/classHash.mjs +168 -0
- package/dist/utils/hash/index.cjs +49 -0
- package/dist/utils/hash/index.d.ts +7 -0
- package/dist/utils/hash/index.mjs +4 -0
- package/dist/utils/hash/selector.cjs +37 -0
- package/dist/utils/hash/selector.d.ts +57 -0
- package/dist/utils/hash/selector.mjs +28 -0
- package/dist/utils/hash/transactionHash/index.cjs +38 -0
- package/dist/utils/hash/transactionHash/index.d.ts +81 -0
- package/dist/utils/hash/transactionHash/index.mjs +102 -0
- package/dist/utils/hash/transactionHash/v2.cjs +31 -0
- package/dist/utils/hash/transactionHash/v2.d.ts +34 -0
- package/dist/utils/hash/transactionHash/v2.mjs +57 -0
- package/dist/utils/hash/transactionHash/v3.cjs +45 -0
- package/dist/utils/hash/transactionHash/v3.d.ts +24 -0
- package/dist/utils/hash/transactionHash/v3.mjs +80 -0
- package/dist/utils/json.cjs +21 -0
- package/dist/utils/json.d.ts +50 -0
- package/dist/utils/json.mjs +10 -0
- package/dist/utils/merkle.cjs +118 -0
- package/dist/utils/merkle.d.ts +87 -0
- package/dist/utils/merkle.mjs +114 -0
- package/dist/utils/num.cjs +109 -0
- package/dist/utils/num.d.ts +283 -0
- package/dist/utils/num.mjs +86 -0
- package/dist/utils/provider.cjs +182 -0
- package/dist/utils/provider.d.ts +217 -0
- package/dist/utils/provider.mjs +158 -0
- package/dist/utils/responseParser/index.cjs +27 -0
- package/dist/utils/responseParser/index.d.ts +2 -0
- package/dist/utils/responseParser/index.mjs +2 -0
- package/dist/utils/responseParser/interface.cjs +8 -0
- package/dist/utils/responseParser/interface.d.ts +13 -0
- package/dist/utils/responseParser/interface.mjs +2 -0
- package/dist/utils/responseParser/rpc.cjs +83 -0
- package/dist/utils/responseParser/rpc.d.ts +19 -0
- package/dist/utils/responseParser/rpc.mjs +77 -0
- package/dist/utils/shortString.cjs +56 -0
- package/dist/utils/shortString.d.ts +116 -0
- package/dist/utils/shortString.mjs +39 -0
- package/dist/utils/stark.cjs +137 -0
- package/dist/utils/stark.d.ts +224 -0
- package/dist/utils/stark.mjs +109 -0
- package/dist/utils/starknetId.cjs +196 -0
- package/dist/utils/starknetId.d.ts +182 -0
- package/dist/utils/starknetId.mjs +185 -0
- package/dist/utils/transaction.cjs +115 -0
- package/dist/utils/transaction.d.ts +185 -0
- package/dist/utils/transaction.mjs +98 -0
- package/dist/utils/transactionReceipt.cjs +54 -0
- package/dist/utils/transactionReceipt.d.ts +33 -0
- package/dist/utils/transactionReceipt.mjs +49 -0
- package/dist/utils/typedData.cjs +285 -0
- package/dist/utils/typedData.d.ts +54 -0
- package/dist/utils/typedData.mjs +286 -0
- package/dist/utils/uint256.cjs +30 -0
- package/dist/utils/uint256.d.ts +45 -0
- package/dist/utils/uint256.mjs +11 -0
- package/dist/utils/url.cjs +35 -0
- package/dist/utils/url.d.ts +29 -0
- package/dist/utils/url.mjs +27 -0
- package/dist/wallet/account.cjs +115 -0
- package/dist/wallet/account.d.ts +31 -0
- package/dist/wallet/account.mjs +112 -0
- package/dist/wallet/connect.cjs +90 -0
- package/dist/wallet/connect.d.ts +82 -0
- package/dist/wallet/connect.mjs +64 -0
- package/dist/wallet/index.cjs +16 -0
- package/dist/wallet/index.d.ts +1 -0
- package/dist/wallet/index.mjs +1 -0
- package/dist/wallet/types.cjs +1 -0
- package/dist/wallet/types.d.ts +4 -0
- package/dist/wallet/types.mjs +0 -0
- package/package.json +13 -13
- package/dist/index.js +0 -7426
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
package/dist/index.global.js
CHANGED
|
@@ -10655,7 +10655,7 @@ var starknet = (() => {
|
|
|
10655
10655
|
function isString2(data) {
|
|
10656
10656
|
return typeof data === "string" || data instanceof String;
|
|
10657
10657
|
}
|
|
10658
|
-
function
|
|
10658
|
+
function isObject3(data) {
|
|
10659
10659
|
return toString.call(data) === "[object Object]";
|
|
10660
10660
|
}
|
|
10661
10661
|
function isInstanceStrict(data, prototype) {
|
|
@@ -10673,7 +10673,7 @@ var starknet = (() => {
|
|
|
10673
10673
|
options = cb;
|
|
10674
10674
|
cb = null;
|
|
10675
10675
|
}
|
|
10676
|
-
if (!
|
|
10676
|
+
if (!isObject3(options))
|
|
10677
10677
|
options = { Error: "Failed Check" };
|
|
10678
10678
|
if (!bool) {
|
|
10679
10679
|
if (cb) {
|
|
@@ -10694,7 +10694,7 @@ var starknet = (() => {
|
|
|
10694
10694
|
exports.isDate = isDate;
|
|
10695
10695
|
exports.isEmptyString = isEmptyString;
|
|
10696
10696
|
exports.isString = isString2;
|
|
10697
|
-
exports.isObject =
|
|
10697
|
+
exports.isObject = isObject3;
|
|
10698
10698
|
exports.validate = validate;
|
|
10699
10699
|
}
|
|
10700
10700
|
});
|
|
@@ -12699,7 +12699,9 @@ var starknet = (() => {
|
|
|
12699
12699
|
RPC: () => api_exports2,
|
|
12700
12700
|
RPC06: () => rpc_0_6_exports,
|
|
12701
12701
|
RPC07: () => rpc_0_7_exports,
|
|
12702
|
+
RPCResponseParser: () => RPCResponseParser,
|
|
12702
12703
|
ReceiptTx: () => ReceiptTx,
|
|
12704
|
+
ResponseParser: () => ResponseParser,
|
|
12703
12705
|
RpcChannel: () => RpcChannel2,
|
|
12704
12706
|
RpcProvider: () => RpcProvider2,
|
|
12705
12707
|
Signer: () => Signer,
|
|
@@ -12746,7 +12748,6 @@ var starknet = (() => {
|
|
|
12746
12748
|
num: () => num_exports,
|
|
12747
12749
|
number: () => number3,
|
|
12748
12750
|
parseCalldataField: () => parseCalldataField,
|
|
12749
|
-
parseUDCEvent: () => parseUDCEvent,
|
|
12750
12751
|
provider: () => provider_exports,
|
|
12751
12752
|
selector: () => selector_exports,
|
|
12752
12753
|
shortString: () => shortString_exports,
|
|
@@ -12770,6 +12771,7 @@ var starknet = (() => {
|
|
|
12770
12771
|
ADDR_BOUND: () => ADDR_BOUND,
|
|
12771
12772
|
API_VERSION: () => API_VERSION,
|
|
12772
12773
|
BaseUrl: () => BaseUrl,
|
|
12774
|
+
FeeMarginPercentage: () => FeeMarginPercentage,
|
|
12773
12775
|
IS_BROWSER: () => IS_BROWSER,
|
|
12774
12776
|
MASK_250: () => MASK_250,
|
|
12775
12777
|
MAX_STORAGE_ITEM_SIZE: () => MAX_STORAGE_ITEM_SIZE,
|
|
@@ -12785,8 +12787,7 @@ var starknet = (() => {
|
|
|
12785
12787
|
TRANSACTION_VERSION: () => ETransactionVersion4,
|
|
12786
12788
|
TransactionHashPrefix: () => TransactionHashPrefix,
|
|
12787
12789
|
UDC: () => UDC,
|
|
12788
|
-
ZERO: () => ZERO
|
|
12789
|
-
feeMarginPercentage: () => feeMarginPercentage
|
|
12790
|
+
ZERO: () => ZERO
|
|
12790
12791
|
});
|
|
12791
12792
|
|
|
12792
12793
|
// src/types/api/index.ts
|
|
@@ -12842,76 +12843,65 @@ var starknet = (() => {
|
|
|
12842
12843
|
var components_exports = {};
|
|
12843
12844
|
|
|
12844
12845
|
// src/types/api/rpcspec_0_6/nonspec.ts
|
|
12845
|
-
var ETransactionType =
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
|
|
12860
|
-
|
|
12861
|
-
|
|
12862
|
-
|
|
12863
|
-
|
|
12864
|
-
|
|
12865
|
-
|
|
12866
|
-
|
|
12867
|
-
|
|
12868
|
-
|
|
12869
|
-
}
|
|
12870
|
-
var
|
|
12871
|
-
|
|
12872
|
-
|
|
12873
|
-
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
|
|
12898
|
-
|
|
12899
|
-
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12903
|
-
|
|
12904
|
-
ETransactionVersion24["V2"] = "0x2";
|
|
12905
|
-
ETransactionVersion24["F0"] = "0x100000000000000000000000000000000";
|
|
12906
|
-
ETransactionVersion24["F1"] = "0x100000000000000000000000000000001";
|
|
12907
|
-
ETransactionVersion24["F2"] = "0x100000000000000000000000000000002";
|
|
12908
|
-
return ETransactionVersion24;
|
|
12909
|
-
})(ETransactionVersion2 || {});
|
|
12910
|
-
var ETransactionVersion3 = /* @__PURE__ */ ((ETransactionVersion34) => {
|
|
12911
|
-
ETransactionVersion34["V3"] = "0x3";
|
|
12912
|
-
ETransactionVersion34["F3"] = "0x100000000000000000000000000000003";
|
|
12913
|
-
return ETransactionVersion34;
|
|
12914
|
-
})(ETransactionVersion3 || {});
|
|
12846
|
+
var ETransactionType = {
|
|
12847
|
+
DECLARE: "DECLARE",
|
|
12848
|
+
DEPLOY: "DEPLOY",
|
|
12849
|
+
DEPLOY_ACCOUNT: "DEPLOY_ACCOUNT",
|
|
12850
|
+
INVOKE: "INVOKE",
|
|
12851
|
+
L1_HANDLER: "L1_HANDLER"
|
|
12852
|
+
};
|
|
12853
|
+
var ESimulationFlag = {
|
|
12854
|
+
SKIP_VALIDATE: "SKIP_VALIDATE",
|
|
12855
|
+
SKIP_FEE_CHARGE: "SKIP_FEE_CHARGE"
|
|
12856
|
+
};
|
|
12857
|
+
var ETransactionStatus = {
|
|
12858
|
+
RECEIVED: "RECEIVED",
|
|
12859
|
+
REJECTED: "REJECTED",
|
|
12860
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
12861
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1"
|
|
12862
|
+
};
|
|
12863
|
+
var ETransactionFinalityStatus = {
|
|
12864
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
12865
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1"
|
|
12866
|
+
};
|
|
12867
|
+
var ETransactionExecutionStatus = {
|
|
12868
|
+
SUCCEEDED: "SUCCEEDED",
|
|
12869
|
+
REVERTED: "REVERTED"
|
|
12870
|
+
};
|
|
12871
|
+
var EBlockTag = {
|
|
12872
|
+
PENDING: "pending",
|
|
12873
|
+
LATEST: "latest"
|
|
12874
|
+
};
|
|
12875
|
+
var EDataAvailabilityMode = {
|
|
12876
|
+
L1: "L1",
|
|
12877
|
+
L2: "L2"
|
|
12878
|
+
};
|
|
12879
|
+
var EDAMode = {
|
|
12880
|
+
L1: 0,
|
|
12881
|
+
L2: 1
|
|
12882
|
+
};
|
|
12883
|
+
var ETransactionVersion = {
|
|
12884
|
+
V0: "0x0",
|
|
12885
|
+
V1: "0x1",
|
|
12886
|
+
V2: "0x2",
|
|
12887
|
+
V3: "0x3",
|
|
12888
|
+
F0: "0x100000000000000000000000000000000",
|
|
12889
|
+
F1: "0x100000000000000000000000000000001",
|
|
12890
|
+
F2: "0x100000000000000000000000000000002",
|
|
12891
|
+
F3: "0x100000000000000000000000000000003"
|
|
12892
|
+
};
|
|
12893
|
+
var ETransactionVersion2 = {
|
|
12894
|
+
V0: "0x0",
|
|
12895
|
+
V1: "0x1",
|
|
12896
|
+
V2: "0x2",
|
|
12897
|
+
F0: "0x100000000000000000000000000000000",
|
|
12898
|
+
F1: "0x100000000000000000000000000000001",
|
|
12899
|
+
F2: "0x100000000000000000000000000000002"
|
|
12900
|
+
};
|
|
12901
|
+
var ETransactionVersion3 = {
|
|
12902
|
+
V3: "0x3",
|
|
12903
|
+
F3: "0x100000000000000000000000000000003"
|
|
12904
|
+
};
|
|
12915
12905
|
|
|
12916
12906
|
// node_modules/starknet-types-07/dist/esm/index.js
|
|
12917
12907
|
var esm_exports = {};
|
|
@@ -12960,76 +12950,65 @@ var starknet = (() => {
|
|
|
12960
12950
|
var components_exports2 = {};
|
|
12961
12951
|
|
|
12962
12952
|
// node_modules/starknet-types-07/dist/esm/api/nonspec.js
|
|
12963
|
-
var ETransactionType2
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
12975
|
-
|
|
12976
|
-
|
|
12977
|
-
|
|
12978
|
-
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
|
|
12982
|
-
|
|
12983
|
-
|
|
12984
|
-
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
}
|
|
12988
|
-
var
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13002
|
-
|
|
13003
|
-
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
13009
|
-
|
|
13010
|
-
|
|
13011
|
-
|
|
13012
|
-
|
|
13013
|
-
|
|
13014
|
-
|
|
13015
|
-
|
|
13016
|
-
|
|
13017
|
-
|
|
13018
|
-
|
|
13019
|
-
|
|
13020
|
-
|
|
13021
|
-
|
|
13022
|
-
ETransactionVersion24["V1"] = "0x1";
|
|
13023
|
-
ETransactionVersion24["V2"] = "0x2";
|
|
13024
|
-
ETransactionVersion24["F0"] = "0x100000000000000000000000000000000";
|
|
13025
|
-
ETransactionVersion24["F1"] = "0x100000000000000000000000000000001";
|
|
13026
|
-
ETransactionVersion24["F2"] = "0x100000000000000000000000000000002";
|
|
13027
|
-
})(ETransactionVersion22 || (ETransactionVersion22 = {}));
|
|
13028
|
-
var ETransactionVersion32;
|
|
13029
|
-
(function(ETransactionVersion34) {
|
|
13030
|
-
ETransactionVersion34["V3"] = "0x3";
|
|
13031
|
-
ETransactionVersion34["F3"] = "0x100000000000000000000000000000003";
|
|
13032
|
-
})(ETransactionVersion32 || (ETransactionVersion32 = {}));
|
|
12953
|
+
var ETransactionType2 = {
|
|
12954
|
+
DECLARE: "DECLARE",
|
|
12955
|
+
DEPLOY: "DEPLOY",
|
|
12956
|
+
DEPLOY_ACCOUNT: "DEPLOY_ACCOUNT",
|
|
12957
|
+
INVOKE: "INVOKE",
|
|
12958
|
+
L1_HANDLER: "L1_HANDLER"
|
|
12959
|
+
};
|
|
12960
|
+
var ESimulationFlag2 = {
|
|
12961
|
+
SKIP_VALIDATE: "SKIP_VALIDATE",
|
|
12962
|
+
SKIP_FEE_CHARGE: "SKIP_FEE_CHARGE"
|
|
12963
|
+
};
|
|
12964
|
+
var ETransactionStatus2 = {
|
|
12965
|
+
RECEIVED: "RECEIVED",
|
|
12966
|
+
REJECTED: "REJECTED",
|
|
12967
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
12968
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1"
|
|
12969
|
+
};
|
|
12970
|
+
var ETransactionFinalityStatus2 = {
|
|
12971
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
12972
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1"
|
|
12973
|
+
};
|
|
12974
|
+
var ETransactionExecutionStatus2 = {
|
|
12975
|
+
SUCCEEDED: "SUCCEEDED",
|
|
12976
|
+
REVERTED: "REVERTED"
|
|
12977
|
+
};
|
|
12978
|
+
var EBlockTag2 = {
|
|
12979
|
+
LATEST: "latest",
|
|
12980
|
+
PENDING: "pending"
|
|
12981
|
+
};
|
|
12982
|
+
var EDataAvailabilityMode2 = {
|
|
12983
|
+
L1: "L1",
|
|
12984
|
+
L2: "L2"
|
|
12985
|
+
};
|
|
12986
|
+
var EDAMode2 = {
|
|
12987
|
+
L1: 0,
|
|
12988
|
+
L2: 1
|
|
12989
|
+
};
|
|
12990
|
+
var ETransactionVersion4 = {
|
|
12991
|
+
V0: "0x0",
|
|
12992
|
+
V1: "0x1",
|
|
12993
|
+
V2: "0x2",
|
|
12994
|
+
V3: "0x3",
|
|
12995
|
+
F0: "0x100000000000000000000000000000000",
|
|
12996
|
+
F1: "0x100000000000000000000000000000001",
|
|
12997
|
+
F2: "0x100000000000000000000000000000002",
|
|
12998
|
+
F3: "0x100000000000000000000000000000003"
|
|
12999
|
+
};
|
|
13000
|
+
var ETransactionVersion22 = {
|
|
13001
|
+
V0: "0x0",
|
|
13002
|
+
V1: "0x1",
|
|
13003
|
+
V2: "0x2",
|
|
13004
|
+
F0: "0x100000000000000000000000000000000",
|
|
13005
|
+
F1: "0x100000000000000000000000000000001",
|
|
13006
|
+
F2: "0x100000000000000000000000000000002"
|
|
13007
|
+
};
|
|
13008
|
+
var ETransactionVersion32 = {
|
|
13009
|
+
V3: "0x3",
|
|
13010
|
+
F3: "0x100000000000000000000000000000003"
|
|
13011
|
+
};
|
|
13033
13012
|
|
|
13034
13013
|
// node_modules/starknet-types-07/dist/esm/wallet-api/index.js
|
|
13035
13014
|
var wallet_api_exports = {};
|
|
@@ -13039,17 +13018,15 @@ var starknet = (() => {
|
|
|
13039
13018
|
});
|
|
13040
13019
|
|
|
13041
13020
|
// node_modules/starknet-types-07/dist/esm/wallet-api/constants.js
|
|
13042
|
-
var Permission
|
|
13043
|
-
|
|
13044
|
-
|
|
13045
|
-
})(Permission || (Permission = {}));
|
|
13021
|
+
var Permission = {
|
|
13022
|
+
ACCOUNTS: "accounts"
|
|
13023
|
+
};
|
|
13046
13024
|
|
|
13047
13025
|
// node_modules/starknet-types-07/dist/esm/wallet-api/typedData.js
|
|
13048
|
-
var TypedDataRevision
|
|
13049
|
-
|
|
13050
|
-
|
|
13051
|
-
|
|
13052
|
-
})(TypedDataRevision || (TypedDataRevision = {}));
|
|
13026
|
+
var TypedDataRevision = {
|
|
13027
|
+
ACTIVE: "1",
|
|
13028
|
+
LEGACY: "0"
|
|
13029
|
+
};
|
|
13053
13030
|
|
|
13054
13031
|
// src/utils/encode.ts
|
|
13055
13032
|
var encode_exports = {};
|
|
@@ -13296,35 +13273,37 @@ var starknet = (() => {
|
|
|
13296
13273
|
var RANGE_FELT = range(ZERO, PRIME - 1n);
|
|
13297
13274
|
var RANGE_I128 = range(-(2n ** 127n), 2n ** 127n - 1n);
|
|
13298
13275
|
var RANGE_U128 = range(ZERO, 2n ** 128n - 1n);
|
|
13299
|
-
var BaseUrl =
|
|
13300
|
-
|
|
13301
|
-
|
|
13302
|
-
|
|
13303
|
-
|
|
13304
|
-
|
|
13305
|
-
|
|
13306
|
-
|
|
13307
|
-
|
|
13308
|
-
|
|
13309
|
-
|
|
13310
|
-
|
|
13311
|
-
|
|
13312
|
-
|
|
13313
|
-
|
|
13314
|
-
|
|
13315
|
-
|
|
13316
|
-
|
|
13317
|
-
|
|
13318
|
-
|
|
13319
|
-
|
|
13320
|
-
|
|
13321
|
-
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
|
|
13325
|
-
|
|
13326
|
-
|
|
13327
|
-
|
|
13276
|
+
var BaseUrl = {
|
|
13277
|
+
SN_MAIN: "https://alpha-mainnet.starknet.io",
|
|
13278
|
+
SN_SEPOLIA: "https://alpha-sepolia.starknet.io"
|
|
13279
|
+
};
|
|
13280
|
+
var NetworkName = {
|
|
13281
|
+
SN_MAIN: "SN_MAIN",
|
|
13282
|
+
SN_SEPOLIA: "SN_SEPOLIA"
|
|
13283
|
+
};
|
|
13284
|
+
var StarknetChainId = {
|
|
13285
|
+
SN_MAIN: "0x534e5f4d41494e",
|
|
13286
|
+
// encodeShortString('SN_MAIN'),
|
|
13287
|
+
SN_SEPOLIA: "0x534e5f5345504f4c4941"
|
|
13288
|
+
// encodeShortString('SN_SEPOLIA')
|
|
13289
|
+
};
|
|
13290
|
+
var TransactionHashPrefix = {
|
|
13291
|
+
DECLARE: "0x6465636c617265",
|
|
13292
|
+
// encodeShortString('declare'),
|
|
13293
|
+
DEPLOY: "0x6465706c6f79",
|
|
13294
|
+
// encodeShortString('deploy'),
|
|
13295
|
+
DEPLOY_ACCOUNT: "0x6465706c6f795f6163636f756e74",
|
|
13296
|
+
// encodeShortString('deploy_account'),
|
|
13297
|
+
INVOKE: "0x696e766f6b65",
|
|
13298
|
+
// encodeShortString('invoke'),
|
|
13299
|
+
L1_HANDLER: "0x6c315f68616e646c6572"
|
|
13300
|
+
// encodeShortString('l1_handler'),
|
|
13301
|
+
};
|
|
13302
|
+
var FeeMarginPercentage = {
|
|
13303
|
+
L1_BOUND_MAX_AMOUNT: 50,
|
|
13304
|
+
L1_BOUND_MAX_PRICE_PER_UNIT: 50,
|
|
13305
|
+
MAX_FEE: 50
|
|
13306
|
+
};
|
|
13328
13307
|
var UDC = {
|
|
13329
13308
|
ADDRESS: "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",
|
|
13330
13309
|
ENTRYPOINT: "deployContract"
|
|
@@ -13951,79 +13930,71 @@ var starknet = (() => {
|
|
|
13951
13930
|
});
|
|
13952
13931
|
|
|
13953
13932
|
// src/types/calldata.ts
|
|
13954
|
-
var ValidateType =
|
|
13955
|
-
|
|
13956
|
-
|
|
13957
|
-
|
|
13958
|
-
|
|
13959
|
-
|
|
13960
|
-
|
|
13961
|
-
|
|
13962
|
-
|
|
13963
|
-
|
|
13964
|
-
|
|
13965
|
-
|
|
13966
|
-
|
|
13967
|
-
|
|
13968
|
-
|
|
13969
|
-
}
|
|
13970
|
-
var Literal =
|
|
13971
|
-
|
|
13972
|
-
|
|
13973
|
-
|
|
13974
|
-
|
|
13975
|
-
})(Literal || {});
|
|
13933
|
+
var ValidateType = {
|
|
13934
|
+
DEPLOY: "DEPLOY",
|
|
13935
|
+
CALL: "CALL",
|
|
13936
|
+
INVOKE: "INVOKE"
|
|
13937
|
+
};
|
|
13938
|
+
var Uint = {
|
|
13939
|
+
u8: "core::integer::u8",
|
|
13940
|
+
u16: "core::integer::u16",
|
|
13941
|
+
u32: "core::integer::u32",
|
|
13942
|
+
u64: "core::integer::u64",
|
|
13943
|
+
u128: "core::integer::u128",
|
|
13944
|
+
u256: "core::integer::u256",
|
|
13945
|
+
// This one is struct
|
|
13946
|
+
u512: "core::integer::u512"
|
|
13947
|
+
// This one is struct
|
|
13948
|
+
};
|
|
13949
|
+
var Literal = {
|
|
13950
|
+
ClassHash: "core::starknet::class_hash::ClassHash",
|
|
13951
|
+
ContractAddress: "core::starknet::contract_address::ContractAddress",
|
|
13952
|
+
Secp256k1Point: "core::starknet::secp256k1::Secp256k1Point"
|
|
13953
|
+
};
|
|
13976
13954
|
|
|
13977
13955
|
// src/types/lib/contract/index.ts
|
|
13978
|
-
var EntryPointType =
|
|
13979
|
-
|
|
13980
|
-
|
|
13981
|
-
|
|
13982
|
-
|
|
13983
|
-
})(EntryPointType || {});
|
|
13956
|
+
var EntryPointType = {
|
|
13957
|
+
EXTERNAL: "EXTERNAL",
|
|
13958
|
+
L1_HANDLER: "L1_HANDLER",
|
|
13959
|
+
CONSTRUCTOR: "CONSTRUCTOR"
|
|
13960
|
+
};
|
|
13984
13961
|
|
|
13985
13962
|
// src/types/lib/index.ts
|
|
13986
|
-
var TransactionType =
|
|
13987
|
-
|
|
13988
|
-
|
|
13989
|
-
|
|
13990
|
-
|
|
13991
|
-
|
|
13992
|
-
|
|
13993
|
-
|
|
13994
|
-
|
|
13995
|
-
|
|
13996
|
-
|
|
13997
|
-
|
|
13998
|
-
|
|
13999
|
-
|
|
14000
|
-
|
|
14001
|
-
|
|
14002
|
-
|
|
14003
|
-
|
|
14004
|
-
|
|
14005
|
-
|
|
14006
|
-
|
|
14007
|
-
|
|
14008
|
-
|
|
14009
|
-
|
|
14010
|
-
|
|
14011
|
-
|
|
14012
|
-
|
|
14013
|
-
|
|
14014
|
-
|
|
14015
|
-
|
|
14016
|
-
|
|
14017
|
-
|
|
14018
|
-
|
|
14019
|
-
|
|
14020
|
-
|
|
14021
|
-
})(BlockStatus || {});
|
|
14022
|
-
var BlockTag = /* @__PURE__ */ ((BlockTag2) => {
|
|
14023
|
-
BlockTag2["pending"] = "pending";
|
|
14024
|
-
BlockTag2["latest"] = "latest";
|
|
14025
|
-
return BlockTag2;
|
|
14026
|
-
})(BlockTag || {});
|
|
13963
|
+
var TransactionType = {
|
|
13964
|
+
DECLARE: "DECLARE",
|
|
13965
|
+
DEPLOY: "DEPLOY",
|
|
13966
|
+
DEPLOY_ACCOUNT: "DEPLOY_ACCOUNT",
|
|
13967
|
+
INVOKE: "INVOKE_FUNCTION"
|
|
13968
|
+
};
|
|
13969
|
+
var TransactionStatus = {
|
|
13970
|
+
NOT_RECEIVED: "NOT_RECEIVED",
|
|
13971
|
+
RECEIVED: "RECEIVED",
|
|
13972
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
13973
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1",
|
|
13974
|
+
REJECTED: "REJECTED",
|
|
13975
|
+
REVERTED: "REVERTED"
|
|
13976
|
+
};
|
|
13977
|
+
var TransactionFinalityStatus = {
|
|
13978
|
+
NOT_RECEIVED: "NOT_RECEIVED",
|
|
13979
|
+
RECEIVED: "RECEIVED",
|
|
13980
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
13981
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1"
|
|
13982
|
+
};
|
|
13983
|
+
var TransactionExecutionStatus = {
|
|
13984
|
+
REJECTED: "REJECTED",
|
|
13985
|
+
REVERTED: "REVERTED",
|
|
13986
|
+
SUCCEEDED: "SUCCEEDED"
|
|
13987
|
+
};
|
|
13988
|
+
var BlockStatus = {
|
|
13989
|
+
PENDING: "PENDING",
|
|
13990
|
+
ACCEPTED_ON_L1: "ACCEPTED_ON_L1",
|
|
13991
|
+
ACCEPTED_ON_L2: "ACCEPTED_ON_L2",
|
|
13992
|
+
REJECTED: "REJECTED"
|
|
13993
|
+
};
|
|
13994
|
+
var BlockTag = {
|
|
13995
|
+
PENDING: "pending",
|
|
13996
|
+
LATEST: "latest"
|
|
13997
|
+
};
|
|
14027
13998
|
|
|
14028
13999
|
// src/utils/assert.ts
|
|
14029
14000
|
function assert(condition, message) {
|
|
@@ -14065,18 +14036,19 @@ var starknet = (() => {
|
|
|
14065
14036
|
function isBigInt(value) {
|
|
14066
14037
|
return typeof value === "bigint";
|
|
14067
14038
|
}
|
|
14068
|
-
function toHex(
|
|
14069
|
-
return addHexPrefix(toBigInt(
|
|
14039
|
+
function toHex(value) {
|
|
14040
|
+
return addHexPrefix(toBigInt(value).toString(16));
|
|
14070
14041
|
}
|
|
14071
14042
|
var toHexString = toHex;
|
|
14072
14043
|
function toStorageKey(number4) {
|
|
14073
|
-
|
|
14074
|
-
return res;
|
|
14044
|
+
return addHexPrefix(toBigInt(number4).toString(16).padStart(64, "0"));
|
|
14075
14045
|
}
|
|
14076
14046
|
function hexToDecimalString(hex) {
|
|
14077
14047
|
return BigInt(addHexPrefix(hex)).toString(10);
|
|
14078
14048
|
}
|
|
14079
|
-
|
|
14049
|
+
function cleanHex(hex) {
|
|
14050
|
+
return hex.toLowerCase().replace(/^(0x)0+/, "$1");
|
|
14051
|
+
}
|
|
14080
14052
|
function assertInRange(input, lowerBound, upperBound, inputName = "") {
|
|
14081
14053
|
const messageSuffix = inputName === "" ? "invalid length" : `invalid ${inputName} length`;
|
|
14082
14054
|
const inputBigInt = BigInt(input);
|
|
@@ -14087,39 +14059,43 @@ var starknet = (() => {
|
|
|
14087
14059
|
`Message not signable, ${messageSuffix}.`
|
|
14088
14060
|
);
|
|
14089
14061
|
}
|
|
14090
|
-
function bigNumberishArrayToDecimalStringArray(
|
|
14091
|
-
return
|
|
14062
|
+
function bigNumberishArrayToDecimalStringArray(data) {
|
|
14063
|
+
return data.map((x) => toBigInt(x).toString(10));
|
|
14092
14064
|
}
|
|
14093
|
-
function bigNumberishArrayToHexadecimalStringArray(
|
|
14094
|
-
return
|
|
14065
|
+
function bigNumberishArrayToHexadecimalStringArray(data) {
|
|
14066
|
+
return data.map((x) => toHex(x));
|
|
14095
14067
|
}
|
|
14096
|
-
|
|
14097
|
-
|
|
14098
|
-
|
|
14099
|
-
|
|
14068
|
+
function isStringWholeNumber(str) {
|
|
14069
|
+
return /^\d+$/.test(str);
|
|
14070
|
+
}
|
|
14071
|
+
function getDecimalString(str) {
|
|
14072
|
+
if (isHex(str)) {
|
|
14073
|
+
return hexToDecimalString(str);
|
|
14100
14074
|
}
|
|
14101
|
-
if (isStringWholeNumber(
|
|
14102
|
-
return
|
|
14075
|
+
if (isStringWholeNumber(str)) {
|
|
14076
|
+
return str;
|
|
14103
14077
|
}
|
|
14104
|
-
throw new Error(`${
|
|
14078
|
+
throw new Error(`${str} needs to be a hex-string or whole-number-string`);
|
|
14105
14079
|
}
|
|
14106
|
-
function getHexString(
|
|
14107
|
-
if (isHex(
|
|
14108
|
-
return
|
|
14080
|
+
function getHexString(str) {
|
|
14081
|
+
if (isHex(str)) {
|
|
14082
|
+
return str;
|
|
14109
14083
|
}
|
|
14110
|
-
if (isStringWholeNumber(
|
|
14111
|
-
return toHexString(
|
|
14084
|
+
if (isStringWholeNumber(str)) {
|
|
14085
|
+
return toHexString(str);
|
|
14112
14086
|
}
|
|
14113
|
-
throw new Error(`${
|
|
14087
|
+
throw new Error(`${str} needs to be a hex-string or whole-number-string`);
|
|
14114
14088
|
}
|
|
14115
|
-
function getHexStringArray(
|
|
14116
|
-
return
|
|
14089
|
+
function getHexStringArray(array) {
|
|
14090
|
+
return array.map(getHexString);
|
|
14117
14091
|
}
|
|
14118
|
-
|
|
14119
|
-
|
|
14120
|
-
|
|
14121
|
-
|
|
14122
|
-
|
|
14092
|
+
function toCairoBool(value) {
|
|
14093
|
+
return (+value).toString();
|
|
14094
|
+
}
|
|
14095
|
+
function hexToBytes2(str) {
|
|
14096
|
+
if (!isHex(str))
|
|
14097
|
+
throw new Error(`${str} needs to be a hex-string`);
|
|
14098
|
+
let adaptedValue = removeHexPrefix(str);
|
|
14123
14099
|
if (adaptedValue.length % 2 !== 0) {
|
|
14124
14100
|
adaptedValue = `0${adaptedValue}`;
|
|
14125
14101
|
}
|
|
@@ -14136,7 +14112,7 @@ var starknet = (() => {
|
|
|
14136
14112
|
return typeof value === "boolean";
|
|
14137
14113
|
}
|
|
14138
14114
|
|
|
14139
|
-
// src/utils/selector.ts
|
|
14115
|
+
// src/utils/hash/selector.ts
|
|
14140
14116
|
var selector_exports = {};
|
|
14141
14117
|
__export(selector_exports, {
|
|
14142
14118
|
getSelector: () => getSelector,
|
|
@@ -16559,7 +16535,7 @@ var starknet = (() => {
|
|
|
16559
16535
|
return state[0];
|
|
16560
16536
|
}
|
|
16561
16537
|
|
|
16562
|
-
// src/utils/selector.ts
|
|
16538
|
+
// src/utils/hash/selector.ts
|
|
16563
16539
|
function keccakBn(value) {
|
|
16564
16540
|
const hexWithoutPrefix = removeHexPrefix(toHex(BigInt(value)));
|
|
16565
16541
|
const evenHex = hexWithoutPrefix.length % 2 === 0 ? hexWithoutPrefix : `0${hexWithoutPrefix}`;
|
|
@@ -16683,6 +16659,7 @@ var starknet = (() => {
|
|
|
16683
16659
|
isTypeFelt: () => isTypeFelt,
|
|
16684
16660
|
isTypeLiteral: () => isTypeLiteral,
|
|
16685
16661
|
isTypeNamedTuple: () => isTypeNamedTuple,
|
|
16662
|
+
isTypeNonZero: () => isTypeNonZero,
|
|
16686
16663
|
isTypeOption: () => isTypeOption,
|
|
16687
16664
|
isTypeResult: () => isTypeResult,
|
|
16688
16665
|
isTypeSecp256k1Point: () => isTypeSecp256k1Point,
|
|
@@ -16984,6 +16961,9 @@ var starknet = (() => {
|
|
|
16984
16961
|
}
|
|
16985
16962
|
return cairo === "1";
|
|
16986
16963
|
}
|
|
16964
|
+
function isTypeNonZero(type) {
|
|
16965
|
+
return type.startsWith("core::zeroable::NonZero::");
|
|
16966
|
+
}
|
|
16987
16967
|
function getAbiContractVersion(abi) {
|
|
16988
16968
|
if (abi.find((it) => it.type === "interface")) {
|
|
16989
16969
|
return { cairo: "1", compiler: "2" };
|
|
@@ -17064,19 +17044,18 @@ var starknet = (() => {
|
|
|
17064
17044
|
};
|
|
17065
17045
|
|
|
17066
17046
|
// src/utils/calldata/enum/CairoOption.ts
|
|
17067
|
-
var CairoOptionVariant =
|
|
17068
|
-
|
|
17069
|
-
|
|
17070
|
-
|
|
17071
|
-
})(CairoOptionVariant || {});
|
|
17047
|
+
var CairoOptionVariant = {
|
|
17048
|
+
Some: 0,
|
|
17049
|
+
None: 1
|
|
17050
|
+
};
|
|
17072
17051
|
var CairoOption = class {
|
|
17073
17052
|
Some;
|
|
17074
17053
|
None;
|
|
17075
17054
|
constructor(variant, someContent) {
|
|
17076
|
-
if (!(variant in CairoOptionVariant)) {
|
|
17055
|
+
if (!(variant in Object.values(CairoOptionVariant))) {
|
|
17077
17056
|
throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");
|
|
17078
17057
|
}
|
|
17079
|
-
if (variant ===
|
|
17058
|
+
if (variant === CairoOptionVariant.Some) {
|
|
17080
17059
|
if (typeof someContent === "undefined") {
|
|
17081
17060
|
throw new Error(
|
|
17082
17061
|
'The creation of a Cairo Option with "Some" variant needs a content as input.'
|
|
@@ -17117,19 +17096,18 @@ var starknet = (() => {
|
|
|
17117
17096
|
};
|
|
17118
17097
|
|
|
17119
17098
|
// src/utils/calldata/enum/CairoResult.ts
|
|
17120
|
-
var CairoResultVariant =
|
|
17121
|
-
|
|
17122
|
-
|
|
17123
|
-
|
|
17124
|
-
})(CairoResultVariant || {});
|
|
17099
|
+
var CairoResultVariant = {
|
|
17100
|
+
Ok: 0,
|
|
17101
|
+
Err: 1
|
|
17102
|
+
};
|
|
17125
17103
|
var CairoResult = class {
|
|
17126
17104
|
Ok;
|
|
17127
17105
|
Err;
|
|
17128
17106
|
constructor(variant, resultContent) {
|
|
17129
|
-
if (!(variant in CairoResultVariant)) {
|
|
17107
|
+
if (!(variant in Object.values(CairoResultVariant))) {
|
|
17130
17108
|
throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");
|
|
17131
17109
|
}
|
|
17132
|
-
if (variant ===
|
|
17110
|
+
if (variant === CairoResultVariant.Ok) {
|
|
17133
17111
|
this.Ok = resultContent;
|
|
17134
17112
|
this.Err = void 0;
|
|
17135
17113
|
} else {
|
|
@@ -17435,6 +17413,9 @@ var starknet = (() => {
|
|
|
17435
17413
|
if (isTypeEthAddress(abiType)) {
|
|
17436
17414
|
return unorderedItem;
|
|
17437
17415
|
}
|
|
17416
|
+
if (isTypeNonZero(abiType)) {
|
|
17417
|
+
return unorderedItem;
|
|
17418
|
+
}
|
|
17438
17419
|
if (isTypeByteArray(abiType)) {
|
|
17439
17420
|
return unorderedItem;
|
|
17440
17421
|
}
|
|
@@ -17517,12 +17498,12 @@ var starknet = (() => {
|
|
|
17517
17498
|
);
|
|
17518
17499
|
if (unorderedResult.isOk()) {
|
|
17519
17500
|
return new CairoResult(
|
|
17520
|
-
|
|
17501
|
+
CairoResultVariant.Ok,
|
|
17521
17502
|
orderInput(unorderedObject2.unwrap(), resultOkType)
|
|
17522
17503
|
);
|
|
17523
17504
|
}
|
|
17524
17505
|
return new CairoResult(
|
|
17525
|
-
|
|
17506
|
+
CairoResultVariant.Err,
|
|
17526
17507
|
orderInput(unorderedObject2.unwrap(), resultErrType)
|
|
17527
17508
|
);
|
|
17528
17509
|
}
|
|
@@ -17534,11 +17515,11 @@ var starknet = (() => {
|
|
|
17534
17515
|
);
|
|
17535
17516
|
if (unorderedOption.isSome()) {
|
|
17536
17517
|
return new CairoOption(
|
|
17537
|
-
|
|
17518
|
+
CairoOptionVariant.Some,
|
|
17538
17519
|
orderInput(unorderedOption.unwrap(), resultSomeType)
|
|
17539
17520
|
);
|
|
17540
17521
|
}
|
|
17541
|
-
return new CairoOption(
|
|
17522
|
+
return new CairoOption(CairoOptionVariant.None, {});
|
|
17542
17523
|
}
|
|
17543
17524
|
const unorderedCustomEnum = unorderedObject2;
|
|
17544
17525
|
const variants = Object.entries(unorderedCustomEnum.variant);
|
|
@@ -17674,7 +17655,7 @@ var starknet = (() => {
|
|
|
17674
17655
|
}
|
|
17675
17656
|
const typeVariantSome = listTypeVariant2.type;
|
|
17676
17657
|
if (typeVariantSome === "()") {
|
|
17677
|
-
return
|
|
17658
|
+
return CairoOptionVariant.Some.toString();
|
|
17678
17659
|
}
|
|
17679
17660
|
const parsedParameter2 = parseCalldataValue(
|
|
17680
17661
|
myOption.unwrap(),
|
|
@@ -17683,11 +17664,11 @@ var starknet = (() => {
|
|
|
17683
17664
|
enums
|
|
17684
17665
|
);
|
|
17685
17666
|
if (Array.isArray(parsedParameter2)) {
|
|
17686
|
-
return [
|
|
17667
|
+
return [CairoOptionVariant.Some.toString(), ...parsedParameter2];
|
|
17687
17668
|
}
|
|
17688
|
-
return [
|
|
17669
|
+
return [CairoOptionVariant.Some.toString(), parsedParameter2];
|
|
17689
17670
|
}
|
|
17690
|
-
return
|
|
17671
|
+
return CairoOptionVariant.None.toString();
|
|
17691
17672
|
}
|
|
17692
17673
|
if (isTypeResult(type)) {
|
|
17693
17674
|
const myResult = element;
|
|
@@ -17698,7 +17679,7 @@ var starknet = (() => {
|
|
|
17698
17679
|
}
|
|
17699
17680
|
const typeVariantOk = listTypeVariant3.type;
|
|
17700
17681
|
if (typeVariantOk === "()") {
|
|
17701
|
-
return
|
|
17682
|
+
return CairoResultVariant.Ok.toString();
|
|
17702
17683
|
}
|
|
17703
17684
|
const parsedParameter3 = parseCalldataValue(
|
|
17704
17685
|
myResult.unwrap(),
|
|
@@ -17707,9 +17688,9 @@ var starknet = (() => {
|
|
|
17707
17688
|
enums
|
|
17708
17689
|
);
|
|
17709
17690
|
if (Array.isArray(parsedParameter3)) {
|
|
17710
|
-
return [
|
|
17691
|
+
return [CairoResultVariant.Ok.toString(), ...parsedParameter3];
|
|
17711
17692
|
}
|
|
17712
|
-
return [
|
|
17693
|
+
return [CairoResultVariant.Ok.toString(), parsedParameter3];
|
|
17713
17694
|
}
|
|
17714
17695
|
const listTypeVariant2 = variants.find((variant) => variant.name === "Err");
|
|
17715
17696
|
if (typeof listTypeVariant2 === "undefined") {
|
|
@@ -17717,13 +17698,13 @@ var starknet = (() => {
|
|
|
17717
17698
|
}
|
|
17718
17699
|
const typeVariantErr = listTypeVariant2.type;
|
|
17719
17700
|
if (typeVariantErr === "()") {
|
|
17720
|
-
return
|
|
17701
|
+
return CairoResultVariant.Err.toString();
|
|
17721
17702
|
}
|
|
17722
17703
|
const parsedParameter2 = parseCalldataValue(myResult.unwrap(), typeVariantErr, structs, enums);
|
|
17723
17704
|
if (Array.isArray(parsedParameter2)) {
|
|
17724
|
-
return [
|
|
17705
|
+
return [CairoResultVariant.Err.toString(), ...parsedParameter2];
|
|
17725
17706
|
}
|
|
17726
|
-
return [
|
|
17707
|
+
return [CairoResultVariant.Err.toString(), parsedParameter2];
|
|
17727
17708
|
}
|
|
17728
17709
|
const myEnum = element;
|
|
17729
17710
|
const activeVariant = myEnum.activeVariant();
|
|
@@ -17742,6 +17723,9 @@ var starknet = (() => {
|
|
|
17742
17723
|
}
|
|
17743
17724
|
return [numActiveVariant.toString(), parsedParameter];
|
|
17744
17725
|
}
|
|
17726
|
+
if (isTypeNonZero(type)) {
|
|
17727
|
+
return parseBaseTypes(getArrayType(type), element);
|
|
17728
|
+
}
|
|
17745
17729
|
if (typeof element === "object") {
|
|
17746
17730
|
throw Error(`Parameter ${element} do not align with abi parameter ${type}`);
|
|
17747
17731
|
}
|
|
@@ -17759,6 +17743,8 @@ var starknet = (() => {
|
|
|
17759
17743
|
value = splitLongString(value);
|
|
17760
17744
|
}
|
|
17761
17745
|
return parseCalldataValue(value, input.type, structs, enums);
|
|
17746
|
+
case isTypeNonZero(type):
|
|
17747
|
+
return parseBaseTypes(getArrayType(type), value);
|
|
17762
17748
|
case type === "core::starknet::eth_address::EthAddress":
|
|
17763
17749
|
return parseBaseTypes(type, value);
|
|
17764
17750
|
case (isTypeStruct(type, structs) || isTypeTuple(type) || CairoUint256.isAbiType(type) || CairoUint256.isAbiType(type)):
|
|
@@ -17850,6 +17836,10 @@ var starknet = (() => {
|
|
|
17850
17836
|
}
|
|
17851
17837
|
return parsedDataArr;
|
|
17852
17838
|
}
|
|
17839
|
+
if (isTypeNonZero(element.type)) {
|
|
17840
|
+
const el = { name: "", type: getArrayType(element.type) };
|
|
17841
|
+
return parseResponseValue(responseIterator, el, structs, enums);
|
|
17842
|
+
}
|
|
17853
17843
|
if (structs && element.type in structs && structs[element.type]) {
|
|
17854
17844
|
if (element.type === "core::starknet::eth_address::EthAddress") {
|
|
17855
17845
|
return parseBaseTypes2(element.type, responseIterator);
|
|
@@ -17875,12 +17865,12 @@ var starknet = (() => {
|
|
|
17875
17865
|
return acc;
|
|
17876
17866
|
}, {});
|
|
17877
17867
|
if (element.type.startsWith("core::option::Option")) {
|
|
17878
|
-
const content = variantNum ===
|
|
17868
|
+
const content = variantNum === CairoOptionVariant.Some ? rawEnum.Some : void 0;
|
|
17879
17869
|
return new CairoOption(variantNum, content);
|
|
17880
17870
|
}
|
|
17881
17871
|
if (element.type.startsWith("core::result::Result")) {
|
|
17882
17872
|
let content;
|
|
17883
|
-
if (variantNum ===
|
|
17873
|
+
if (variantNum === CairoResultVariant.Ok) {
|
|
17884
17874
|
content = rawEnum.Ok;
|
|
17885
17875
|
} else {
|
|
17886
17876
|
content = rawEnum.Err;
|
|
@@ -17941,6 +17931,8 @@ var starknet = (() => {
|
|
|
17941
17931
|
}
|
|
17942
17932
|
}
|
|
17943
17933
|
return parsedDataArr;
|
|
17934
|
+
case isTypeNonZero(type):
|
|
17935
|
+
return parseResponseValue(responseIterator, output3, structs, enums);
|
|
17944
17936
|
default:
|
|
17945
17937
|
return parseBaseTypes2(type, responseIterator);
|
|
17946
17938
|
}
|
|
@@ -17984,70 +17976,70 @@ var starknet = (() => {
|
|
|
17984
17976
|
);
|
|
17985
17977
|
let param;
|
|
17986
17978
|
switch (input.type) {
|
|
17987
|
-
case
|
|
17979
|
+
case Uint.u256:
|
|
17988
17980
|
param = new CairoUint256(parameter).toBigInt();
|
|
17989
17981
|
break;
|
|
17990
|
-
case
|
|
17982
|
+
case Uint.u512:
|
|
17991
17983
|
param = new CairoUint512(parameter).toBigInt();
|
|
17992
17984
|
break;
|
|
17993
17985
|
default:
|
|
17994
17986
|
param = toBigInt(parameter);
|
|
17995
17987
|
}
|
|
17996
17988
|
switch (input.type) {
|
|
17997
|
-
case
|
|
17989
|
+
case Uint.u8:
|
|
17998
17990
|
assert(
|
|
17999
17991
|
param >= 0n && param <= 255n,
|
|
18000
17992
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0 - 255]`
|
|
18001
17993
|
);
|
|
18002
17994
|
break;
|
|
18003
|
-
case
|
|
17995
|
+
case Uint.u16:
|
|
18004
17996
|
assert(
|
|
18005
17997
|
param >= 0n && param <= 65535n,
|
|
18006
17998
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 65535]`
|
|
18007
17999
|
);
|
|
18008
18000
|
break;
|
|
18009
|
-
case
|
|
18001
|
+
case Uint.u32:
|
|
18010
18002
|
assert(
|
|
18011
18003
|
param >= 0n && param <= 4294967295n,
|
|
18012
18004
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 4294967295]`
|
|
18013
18005
|
);
|
|
18014
18006
|
break;
|
|
18015
|
-
case
|
|
18007
|
+
case Uint.u64:
|
|
18016
18008
|
assert(
|
|
18017
18009
|
param >= 0n && param <= 2n ** 64n - 1n,
|
|
18018
18010
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 2^64-1]`
|
|
18019
18011
|
);
|
|
18020
18012
|
break;
|
|
18021
|
-
case
|
|
18013
|
+
case Uint.u128:
|
|
18022
18014
|
assert(
|
|
18023
18015
|
param >= 0n && param <= 2n ** 128n - 1n,
|
|
18024
18016
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 2^128-1]`
|
|
18025
18017
|
);
|
|
18026
18018
|
break;
|
|
18027
|
-
case
|
|
18019
|
+
case Uint.u256:
|
|
18028
18020
|
assert(
|
|
18029
18021
|
param >= 0n && param <= 2n ** 256n - 1n,
|
|
18030
18022
|
`Validate: arg ${input.name} is ${input.type} 0 - 2^256-1`
|
|
18031
18023
|
);
|
|
18032
18024
|
break;
|
|
18033
|
-
case
|
|
18025
|
+
case Uint.u512:
|
|
18034
18026
|
assert(CairoUint512.is(param), `Validate: arg ${input.name} is ${input.type} 0 - 2^512-1`);
|
|
18035
18027
|
break;
|
|
18036
|
-
case
|
|
18028
|
+
case Literal.ClassHash:
|
|
18037
18029
|
assert(
|
|
18038
18030
|
// from : https://github.com/starkware-libs/starknet-specs/blob/29bab650be6b1847c92d4461d4c33008b5e50b1a/api/starknet_api_openrpc.json#L1670
|
|
18039
18031
|
param >= 0n && param <= 2n ** 252n - 1n,
|
|
18040
18032
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 2^252-1]`
|
|
18041
18033
|
);
|
|
18042
18034
|
break;
|
|
18043
|
-
case
|
|
18035
|
+
case Literal.ContractAddress:
|
|
18044
18036
|
assert(
|
|
18045
18037
|
// from : https://github.com/starkware-libs/starknet-specs/blob/29bab650be6b1847c92d4461d4c33008b5e50b1a/api/starknet_api_openrpc.json#L1245
|
|
18046
18038
|
param >= 0n && param <= 2n ** 252n - 1n,
|
|
18047
18039
|
`Validate: arg ${input.name} cairo typed ${input.type} should be in range [0, 2^252-1]`
|
|
18048
18040
|
);
|
|
18049
18041
|
break;
|
|
18050
|
-
case
|
|
18042
|
+
case Literal.Secp256k1Point: {
|
|
18051
18043
|
assert(
|
|
18052
18044
|
param >= 0n && param <= 2n ** 512n - 1n,
|
|
18053
18045
|
`Validate: arg ${input.name} must be ${input.type} : a 512 bits number.`
|
|
@@ -18065,7 +18057,7 @@ var starknet = (() => {
|
|
|
18065
18057
|
);
|
|
18066
18058
|
};
|
|
18067
18059
|
var validateStruct = (parameter, input, structs) => {
|
|
18068
|
-
if (input.type ===
|
|
18060
|
+
if (input.type === Uint.u256 || input.type === Uint.u512) {
|
|
18069
18061
|
validateUint(parameter, input);
|
|
18070
18062
|
return;
|
|
18071
18063
|
}
|
|
@@ -18157,6 +18149,42 @@ var starknet = (() => {
|
|
|
18157
18149
|
);
|
|
18158
18150
|
}
|
|
18159
18151
|
};
|
|
18152
|
+
var validateNonZero = (parameter, input) => {
|
|
18153
|
+
const baseType = getArrayType(input.type);
|
|
18154
|
+
assert(
|
|
18155
|
+
isTypeUint(baseType) && baseType !== CairoUint512.abiSelector || isTypeFelt(baseType),
|
|
18156
|
+
`Validate: ${input.name} type is not authorized for NonZero type.`
|
|
18157
|
+
);
|
|
18158
|
+
switch (true) {
|
|
18159
|
+
case isTypeFelt(baseType):
|
|
18160
|
+
validateFelt(parameter, input);
|
|
18161
|
+
assert(
|
|
18162
|
+
BigInt(parameter.toString(10)) > 0,
|
|
18163
|
+
"Validate: value 0 is not authorized in NonZero felt252 type."
|
|
18164
|
+
);
|
|
18165
|
+
break;
|
|
18166
|
+
case isTypeUint(baseType):
|
|
18167
|
+
validateUint(parameter, { name: "", type: baseType });
|
|
18168
|
+
switch (input.type) {
|
|
18169
|
+
case Uint.u256:
|
|
18170
|
+
assert(
|
|
18171
|
+
new CairoUint256(parameter).toBigInt() > 0,
|
|
18172
|
+
"Validate: value 0 is not authorized in NonZero uint256 type."
|
|
18173
|
+
);
|
|
18174
|
+
break;
|
|
18175
|
+
default:
|
|
18176
|
+
assert(
|
|
18177
|
+
toBigInt(parameter) > 0,
|
|
18178
|
+
"Validate: value 0 is not authorized in NonZero uint type."
|
|
18179
|
+
);
|
|
18180
|
+
}
|
|
18181
|
+
break;
|
|
18182
|
+
default:
|
|
18183
|
+
throw new Error(
|
|
18184
|
+
`Validate Unhandled: argument ${input.name}, type ${input.type}, value ${parameter}`
|
|
18185
|
+
);
|
|
18186
|
+
}
|
|
18187
|
+
};
|
|
18160
18188
|
function validateFields(abiMethod, args, structs, enums) {
|
|
18161
18189
|
abiMethod.inputs.reduce((acc, input) => {
|
|
18162
18190
|
const parameter = args[acc];
|
|
@@ -18190,6 +18218,9 @@ var starknet = (() => {
|
|
|
18190
18218
|
case isTypeTuple(input.type):
|
|
18191
18219
|
validateTuple(parameter, input);
|
|
18192
18220
|
break;
|
|
18221
|
+
case isTypeNonZero(input.type):
|
|
18222
|
+
validateNonZero(parameter, input);
|
|
18223
|
+
break;
|
|
18193
18224
|
default:
|
|
18194
18225
|
throw new Error(
|
|
18195
18226
|
`Validate Unhandled: argument ${input.name}, type ${input.type}, value ${parameter}`
|
|
@@ -18218,20 +18249,20 @@ var starknet = (() => {
|
|
|
18218
18249
|
* @param args ArgsOrCalldata - arguments that are passed to the method
|
|
18219
18250
|
*/
|
|
18220
18251
|
validate(type, method, args = []) {
|
|
18221
|
-
if (type !==
|
|
18252
|
+
if (type !== ValidateType.DEPLOY) {
|
|
18222
18253
|
const invocableFunctionNames = this.abi.filter((abi) => {
|
|
18223
18254
|
if (abi.type !== "function")
|
|
18224
18255
|
return false;
|
|
18225
18256
|
const isView = abi.stateMutability === "view" || abi.state_mutability === "view";
|
|
18226
|
-
return type ===
|
|
18257
|
+
return type === ValidateType.INVOKE ? !isView : isView;
|
|
18227
18258
|
}).map((abi) => abi.name);
|
|
18228
18259
|
assert(
|
|
18229
18260
|
invocableFunctionNames.includes(method),
|
|
18230
|
-
`${type ===
|
|
18261
|
+
`${type === ValidateType.INVOKE ? "invocable" : "viewable"} method not found in abi`
|
|
18231
18262
|
);
|
|
18232
18263
|
}
|
|
18233
18264
|
const abiMethod = this.abi.find(
|
|
18234
|
-
(abi) => type ===
|
|
18265
|
+
(abi) => type === ValidateType.DEPLOY ? abi.name === method && abi.type === "constructor" : abi.name === method && abi.type === "function"
|
|
18235
18266
|
);
|
|
18236
18267
|
if (isNoConstructorValid(method, args, abiMethod)) {
|
|
18237
18268
|
return;
|
|
@@ -18311,14 +18342,14 @@ var starknet = (() => {
|
|
|
18311
18342
|
const keys = [...Object.getOwnPropertyNames(value), ...methodsKeys];
|
|
18312
18343
|
if (keys.includes("isSome") && keys.includes("isNone")) {
|
|
18313
18344
|
const myOption = value;
|
|
18314
|
-
const variantNb = myOption.isSome() ?
|
|
18345
|
+
const variantNb = myOption.isSome() ? CairoOptionVariant.Some : CairoOptionVariant.None;
|
|
18315
18346
|
if (myOption.isSome())
|
|
18316
18347
|
return getEntries({ 0: variantNb, 1: myOption.unwrap() }, `${prefix}${kk}.`);
|
|
18317
18348
|
return [[`${prefix}${kk}`, felt(variantNb)]];
|
|
18318
18349
|
}
|
|
18319
18350
|
if (keys.includes("isOk") && keys.includes("isErr")) {
|
|
18320
18351
|
const myResult = value;
|
|
18321
|
-
const variantNb = myResult.isOk() ?
|
|
18352
|
+
const variantNb = myResult.isOk() ? CairoResultVariant.Ok : CairoResultVariant.Err;
|
|
18322
18353
|
return getEntries({ 0: variantNb, 1: myResult.unwrap() }, `${prefix}${kk}.`);
|
|
18323
18354
|
}
|
|
18324
18355
|
if (keys.includes("variant") && keys.includes("activeVariant")) {
|
|
@@ -18469,6 +18500,7 @@ var starknet = (() => {
|
|
|
18469
18500
|
computeCompiledClassHash: () => computeCompiledClassHash,
|
|
18470
18501
|
computeContractClassHash: () => computeContractClassHash,
|
|
18471
18502
|
computeHashOnElements: () => computeHashOnElements3,
|
|
18503
|
+
computeHintedClassHash: () => computeHintedClassHash,
|
|
18472
18504
|
computeLegacyContractClassHash: () => computeLegacyContractClassHash,
|
|
18473
18505
|
computePedersenHash: () => computePedersenHash,
|
|
18474
18506
|
computePedersenHashOnElements: () => computePedersenHashOnElements,
|
|
@@ -19918,7 +19950,7 @@ var starknet = (() => {
|
|
|
19918
19950
|
}
|
|
19919
19951
|
function calculateDeclareTransactionHash(classHash, senderAddress, version, maxFee, chainId, nonce, compiledClassHash) {
|
|
19920
19952
|
return calculateTransactionHashCommon(
|
|
19921
|
-
|
|
19953
|
+
TransactionHashPrefix.DECLARE,
|
|
19922
19954
|
version,
|
|
19923
19955
|
senderAddress,
|
|
19924
19956
|
0,
|
|
@@ -19931,7 +19963,7 @@ var starknet = (() => {
|
|
|
19931
19963
|
function calculateDeployAccountTransactionHash(contractAddress, classHash, constructorCalldata, salt, version, maxFee, chainId, nonce) {
|
|
19932
19964
|
const calldata = [classHash, salt, ...constructorCalldata];
|
|
19933
19965
|
return calculateTransactionHashCommon(
|
|
19934
|
-
|
|
19966
|
+
TransactionHashPrefix.DEPLOY_ACCOUNT,
|
|
19935
19967
|
version,
|
|
19936
19968
|
contractAddress,
|
|
19937
19969
|
0,
|
|
@@ -19943,7 +19975,7 @@ var starknet = (() => {
|
|
|
19943
19975
|
}
|
|
19944
19976
|
function calculateTransactionHash(contractAddress, version, calldata, maxFee, chainId, nonce) {
|
|
19945
19977
|
return calculateTransactionHashCommon(
|
|
19946
|
-
|
|
19978
|
+
TransactionHashPrefix.INVOKE,
|
|
19947
19979
|
version,
|
|
19948
19980
|
contractAddress,
|
|
19949
19981
|
0,
|
|
@@ -19997,7 +20029,7 @@ var starknet = (() => {
|
|
|
19997
20029
|
}
|
|
19998
20030
|
function calculateDeployAccountTransactionHash2(contractAddress, classHash, compiledConstructorCalldata, salt, version, chainId, nonce, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
19999
20031
|
return calculateTransactionHashCommon2(
|
|
20000
|
-
|
|
20032
|
+
TransactionHashPrefix.DEPLOY_ACCOUNT,
|
|
20001
20033
|
version,
|
|
20002
20034
|
contractAddress,
|
|
20003
20035
|
chainId,
|
|
@@ -20012,7 +20044,7 @@ var starknet = (() => {
|
|
|
20012
20044
|
}
|
|
20013
20045
|
function calculateDeclareTransactionHash2(classHash, compiledClassHash, senderAddress, version, chainId, nonce, accountDeploymentData, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
20014
20046
|
return calculateTransactionHashCommon2(
|
|
20015
|
-
|
|
20047
|
+
TransactionHashPrefix.DECLARE,
|
|
20016
20048
|
version,
|
|
20017
20049
|
senderAddress,
|
|
20018
20050
|
chainId,
|
|
@@ -20027,7 +20059,7 @@ var starknet = (() => {
|
|
|
20027
20059
|
}
|
|
20028
20060
|
function calculateInvokeTransactionHash(senderAddress, version, compiledCalldata, chainId, nonce, accountDeploymentData, nonceDataAvailabilityMode, feeDataAvailabilityMode, resourceBounds, tip, paymasterData) {
|
|
20029
20061
|
return calculateTransactionHashCommon2(
|
|
20030
|
-
|
|
20062
|
+
TransactionHashPrefix.INVOKE,
|
|
20031
20063
|
version,
|
|
20032
20064
|
senderAddress,
|
|
20033
20065
|
chainId,
|
|
@@ -20043,9 +20075,7 @@ var starknet = (() => {
|
|
|
20043
20075
|
|
|
20044
20076
|
// src/utils/hash/transactionHash/index.ts
|
|
20045
20077
|
function isV3InvokeTx(args) {
|
|
20046
|
-
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(
|
|
20047
|
-
args.version
|
|
20048
|
-
);
|
|
20078
|
+
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(args.version);
|
|
20049
20079
|
}
|
|
20050
20080
|
function calculateInvokeTransactionHash2(args) {
|
|
20051
20081
|
if (isV3InvokeTx(args)) {
|
|
@@ -20073,9 +20103,7 @@ var starknet = (() => {
|
|
|
20073
20103
|
);
|
|
20074
20104
|
}
|
|
20075
20105
|
function isV3DeclareTx(args) {
|
|
20076
|
-
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(
|
|
20077
|
-
args.version
|
|
20078
|
-
);
|
|
20106
|
+
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(args.version);
|
|
20079
20107
|
}
|
|
20080
20108
|
function calculateDeclareTransactionHash3(args) {
|
|
20081
20109
|
if (isV3DeclareTx(args)) {
|
|
@@ -20105,9 +20133,7 @@ var starknet = (() => {
|
|
|
20105
20133
|
);
|
|
20106
20134
|
}
|
|
20107
20135
|
function isV3DeployAccountTx(args) {
|
|
20108
|
-
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(
|
|
20109
|
-
args.version
|
|
20110
|
-
);
|
|
20136
|
+
return [ETransactionVersion4.V3, ETransactionVersion4.F3].includes(args.version);
|
|
20111
20137
|
}
|
|
20112
20138
|
function calculateDeployAccountTransactionHash3(args) {
|
|
20113
20139
|
if (isV3DeployAccountTx(args)) {
|
|
@@ -20689,14 +20715,14 @@ var starknet = (() => {
|
|
|
20689
20715
|
}
|
|
20690
20716
|
|
|
20691
20717
|
// src/utils/json.ts
|
|
20692
|
-
var parseIntAsNumberOrBigInt = (
|
|
20693
|
-
if (!isInteger(
|
|
20694
|
-
return parseFloat(
|
|
20695
|
-
const
|
|
20696
|
-
return Number.isSafeInteger(
|
|
20718
|
+
var parseIntAsNumberOrBigInt = (str) => {
|
|
20719
|
+
if (!isInteger(str))
|
|
20720
|
+
return parseFloat(str);
|
|
20721
|
+
const num = parseInt(str, 10);
|
|
20722
|
+
return Number.isSafeInteger(num) ? num : BigInt(str);
|
|
20697
20723
|
};
|
|
20698
|
-
var parse2 = (
|
|
20699
|
-
var parseAlwaysAsBig = (
|
|
20724
|
+
var parse2 = (str) => parse(String(str), void 0, parseIntAsNumberOrBigInt);
|
|
20725
|
+
var parseAlwaysAsBig = (str) => parse(String(str), void 0, parseNumberAndBigInt);
|
|
20700
20726
|
var stringify2 = (value, replacer, space, numberStringifiers) => stringify(value, replacer, space, numberStringifiers);
|
|
20701
20727
|
var stringifyAlwaysAsBig = stringify2;
|
|
20702
20728
|
|
|
@@ -25081,10 +25107,10 @@ var starknet = (() => {
|
|
|
25081
25107
|
function signatureToHexArray(sig) {
|
|
25082
25108
|
return bigNumberishArrayToHexadecimalStringArray(formatSignature(sig));
|
|
25083
25109
|
}
|
|
25084
|
-
function estimatedFeeToMaxFee(estimatedFee, overhead =
|
|
25110
|
+
function estimatedFeeToMaxFee(estimatedFee, overhead = FeeMarginPercentage.MAX_FEE) {
|
|
25085
25111
|
return addPercent(estimatedFee, overhead);
|
|
25086
25112
|
}
|
|
25087
|
-
function estimateFeeToBounds(estimate, amountOverhead =
|
|
25113
|
+
function estimateFeeToBounds(estimate, amountOverhead = FeeMarginPercentage.L1_BOUND_MAX_AMOUNT, priceOverhead = FeeMarginPercentage.L1_BOUND_MAX_PRICE_PER_UNIT) {
|
|
25088
25114
|
if (isBigInt(estimate)) {
|
|
25089
25115
|
return {
|
|
25090
25116
|
l2_gas: { max_amount: "0x0", max_price_per_unit: "0x0" },
|
|
@@ -25779,7 +25805,6 @@ var starknet = (() => {
|
|
|
25779
25805
|
__export(provider_exports, {
|
|
25780
25806
|
Block: () => Block,
|
|
25781
25807
|
createSierraContractClass: () => createSierraContractClass,
|
|
25782
|
-
formatHash: () => formatHash,
|
|
25783
25808
|
getDefaultNodeUrl: () => getDefaultNodeUrl,
|
|
25784
25809
|
isPendingBlock: () => isPendingBlock,
|
|
25785
25810
|
isPendingStateUpdate: () => isPendingStateUpdate,
|
|
@@ -25787,7 +25812,6 @@ var starknet = (() => {
|
|
|
25787
25812
|
isV3Tx: () => isV3Tx,
|
|
25788
25813
|
isVersion: () => isVersion,
|
|
25789
25814
|
parseContract: () => parseContract,
|
|
25790
|
-
txIdentifier: () => txIdentifier,
|
|
25791
25815
|
validBlockTags: () => validBlockTags,
|
|
25792
25816
|
wait: () => wait
|
|
25793
25817
|
});
|
|
@@ -25818,26 +25842,23 @@ var starknet = (() => {
|
|
|
25818
25842
|
if (!mute) {
|
|
25819
25843
|
console.warn("Using default public node url, please provide nodeUrl in provider options!");
|
|
25820
25844
|
}
|
|
25821
|
-
const nodes = RPC_NODES[networkName ??
|
|
25845
|
+
const nodes = RPC_NODES[networkName ?? NetworkName.SN_SEPOLIA];
|
|
25822
25846
|
const randIdx = Math.floor(Math.random() * nodes.length);
|
|
25823
25847
|
return nodes[randIdx];
|
|
25824
25848
|
};
|
|
25825
|
-
function formatHash(hashValue) {
|
|
25826
|
-
if (isString(hashValue))
|
|
25827
|
-
return hashValue;
|
|
25828
|
-
return toHex(hashValue);
|
|
25829
|
-
}
|
|
25830
|
-
function txIdentifier(txHash, txId) {
|
|
25831
|
-
if (!txHash) {
|
|
25832
|
-
return `transactionId=${JSON.stringify(txId)}`;
|
|
25833
|
-
}
|
|
25834
|
-
const hashString = formatHash(txHash);
|
|
25835
|
-
return `transactionHash=${hashString}`;
|
|
25836
|
-
}
|
|
25837
25849
|
var validBlockTags = Object.values(BlockTag);
|
|
25838
25850
|
var Block = class {
|
|
25851
|
+
/**
|
|
25852
|
+
* @param {BlockIdentifier} hash if not null, contains the block hash
|
|
25853
|
+
*/
|
|
25839
25854
|
hash = null;
|
|
25855
|
+
/**
|
|
25856
|
+
* @param {BlockIdentifier} number if not null, contains the block number
|
|
25857
|
+
*/
|
|
25840
25858
|
number = null;
|
|
25859
|
+
/**
|
|
25860
|
+
* @param {BlockIdentifier} tag if not null, contains "pending" or "latest"
|
|
25861
|
+
*/
|
|
25841
25862
|
tag = null;
|
|
25842
25863
|
setIdentifier(__identifier) {
|
|
25843
25864
|
if (isString(__identifier)) {
|
|
@@ -25855,16 +25876,31 @@ var starknet = (() => {
|
|
|
25855
25876
|
} else if (isNumber(__identifier)) {
|
|
25856
25877
|
this.number = __identifier;
|
|
25857
25878
|
} else {
|
|
25858
|
-
this.tag =
|
|
25879
|
+
this.tag = BlockTag.PENDING;
|
|
25859
25880
|
}
|
|
25860
25881
|
if (isNumber(this.number) && this.number < 0) {
|
|
25861
25882
|
throw TypeError(`Block number (${this.number}) can't be negative`);
|
|
25862
25883
|
}
|
|
25863
25884
|
}
|
|
25885
|
+
/**
|
|
25886
|
+
* Create a Block instance
|
|
25887
|
+
* @param {BlockIdentifier} _identifier hex string and BigInt are detected as block hashes.
|
|
25888
|
+
* decimal string and number are detected as block numbers.
|
|
25889
|
+
* text string are detected as block tag.
|
|
25890
|
+
* null is considered as a 'pending' block tag.
|
|
25891
|
+
*/
|
|
25864
25892
|
constructor(_identifier) {
|
|
25865
25893
|
this.setIdentifier(_identifier);
|
|
25866
25894
|
}
|
|
25867
25895
|
// TODO: fix any
|
|
25896
|
+
/**
|
|
25897
|
+
* @returns {any} the identifier as a string
|
|
25898
|
+
* @example
|
|
25899
|
+
* ```typescript
|
|
25900
|
+
* const result = new provider.Block(123456n).queryIdentifier;
|
|
25901
|
+
* // result = "blockHash=0x1e240"
|
|
25902
|
+
* ```
|
|
25903
|
+
*/
|
|
25868
25904
|
get queryIdentifier() {
|
|
25869
25905
|
if (this.number !== null) {
|
|
25870
25906
|
return `blockNumber=${this.number}`;
|
|
@@ -25875,6 +25911,14 @@ var starknet = (() => {
|
|
|
25875
25911
|
return `blockNumber=${this.tag}`;
|
|
25876
25912
|
}
|
|
25877
25913
|
// TODO: fix any
|
|
25914
|
+
/**
|
|
25915
|
+
* @returns {any} the identifier as an object
|
|
25916
|
+
* @example
|
|
25917
|
+
* ```typescript
|
|
25918
|
+
* const result = new provider.Block(56789).identifier;
|
|
25919
|
+
* // result = { block_number: 56789 }
|
|
25920
|
+
* ```
|
|
25921
|
+
*/
|
|
25878
25922
|
get identifier() {
|
|
25879
25923
|
if (this.number !== null) {
|
|
25880
25924
|
return { block_number: this.number };
|
|
@@ -25884,6 +25928,16 @@ var starknet = (() => {
|
|
|
25884
25928
|
}
|
|
25885
25929
|
return this.tag;
|
|
25886
25930
|
}
|
|
25931
|
+
/**
|
|
25932
|
+
* change the identifier of an existing Block instance
|
|
25933
|
+
* @example
|
|
25934
|
+
* ```typescript
|
|
25935
|
+
* const myBlock = new provider.Block("latest");
|
|
25936
|
+
* myBlock.identifier ="0x3456789abc";
|
|
25937
|
+
* const result = myBlock.identifier;
|
|
25938
|
+
* // result = { block_hash: '0x3456789abc' }
|
|
25939
|
+
* ```
|
|
25940
|
+
*/
|
|
25887
25941
|
set identifier(_identifier) {
|
|
25888
25942
|
this.setIdentifier(_identifier);
|
|
25889
25943
|
}
|
|
@@ -26016,7 +26070,7 @@ var starknet = (() => {
|
|
|
26016
26070
|
// src/channel/rpc_0_6.ts
|
|
26017
26071
|
var defaultOptions = {
|
|
26018
26072
|
headers: { "Content-Type": "application/json" },
|
|
26019
|
-
blockIdentifier:
|
|
26073
|
+
blockIdentifier: BlockTag.PENDING,
|
|
26020
26074
|
retries: 200
|
|
26021
26075
|
};
|
|
26022
26076
|
var RpcChannel = class {
|
|
@@ -26067,7 +26121,7 @@ var starknet = (() => {
|
|
|
26067
26121
|
const { code, message, data } = rpcError;
|
|
26068
26122
|
throw new LibraryError(
|
|
26069
26123
|
`RPC: ${method} with params ${stringify2(params, null, 2)}
|
|
26070
|
-
|
|
26124
|
+
|
|
26071
26125
|
${code}: ${message}: ${stringify2(data)}`
|
|
26072
26126
|
);
|
|
26073
26127
|
}
|
|
@@ -26495,7 +26549,7 @@ var starknet = (() => {
|
|
|
26495
26549
|
account_deployment_data: invocation.accountDeploymentData.map((it) => toHex(it))
|
|
26496
26550
|
};
|
|
26497
26551
|
}
|
|
26498
|
-
if (invocation.type ===
|
|
26552
|
+
if (invocation.type === TransactionType.INVOKE) {
|
|
26499
26553
|
return {
|
|
26500
26554
|
// v0 v1 v3
|
|
26501
26555
|
type: rpcspec_0_6_exports.ETransactionType.INVOKE,
|
|
@@ -26505,7 +26559,7 @@ var starknet = (() => {
|
|
|
26505
26559
|
...details
|
|
26506
26560
|
};
|
|
26507
26561
|
}
|
|
26508
|
-
if (invocation.type ===
|
|
26562
|
+
if (invocation.type === TransactionType.DECLARE) {
|
|
26509
26563
|
if (!isSierra(invocation.contract)) {
|
|
26510
26564
|
return {
|
|
26511
26565
|
type: invocation.type,
|
|
@@ -26528,7 +26582,7 @@ var starknet = (() => {
|
|
|
26528
26582
|
...details
|
|
26529
26583
|
};
|
|
26530
26584
|
}
|
|
26531
|
-
if (invocation.type ===
|
|
26585
|
+
if (invocation.type === TransactionType.DEPLOY_ACCOUNT) {
|
|
26532
26586
|
const { account_deployment_data, ...restDetails } = details;
|
|
26533
26587
|
return {
|
|
26534
26588
|
type: invocation.type,
|
|
@@ -26550,7 +26604,7 @@ var starknet = (() => {
|
|
|
26550
26604
|
});
|
|
26551
26605
|
var defaultOptions2 = {
|
|
26552
26606
|
headers: { "Content-Type": "application/json" },
|
|
26553
|
-
blockIdentifier:
|
|
26607
|
+
blockIdentifier: BlockTag.PENDING,
|
|
26554
26608
|
retries: 200
|
|
26555
26609
|
};
|
|
26556
26610
|
var RpcChannel2 = class {
|
|
@@ -27047,7 +27101,7 @@ var starknet = (() => {
|
|
|
27047
27101
|
account_deployment_data: invocation.accountDeploymentData.map((it) => toHex(it))
|
|
27048
27102
|
};
|
|
27049
27103
|
}
|
|
27050
|
-
if (invocation.type ===
|
|
27104
|
+
if (invocation.type === TransactionType.INVOKE) {
|
|
27051
27105
|
return {
|
|
27052
27106
|
// v0 v1 v3
|
|
27053
27107
|
type: esm_exports.ETransactionType.INVOKE,
|
|
@@ -27057,7 +27111,7 @@ var starknet = (() => {
|
|
|
27057
27111
|
...details
|
|
27058
27112
|
};
|
|
27059
27113
|
}
|
|
27060
|
-
if (invocation.type ===
|
|
27114
|
+
if (invocation.type === TransactionType.DECLARE) {
|
|
27061
27115
|
if (!isSierra(invocation.contract)) {
|
|
27062
27116
|
return {
|
|
27063
27117
|
type: invocation.type,
|
|
@@ -27080,7 +27134,7 @@ var starknet = (() => {
|
|
|
27080
27134
|
...details
|
|
27081
27135
|
};
|
|
27082
27136
|
}
|
|
27083
|
-
if (invocation.type ===
|
|
27137
|
+
if (invocation.type === TransactionType.DEPLOY_ACCOUNT) {
|
|
27084
27138
|
const { account_deployment_data, ...restDetails } = details;
|
|
27085
27139
|
return {
|
|
27086
27140
|
type: invocation.type,
|
|
@@ -27209,13 +27263,13 @@ var starknet = (() => {
|
|
|
27209
27263
|
return this.statusReceipt === "error";
|
|
27210
27264
|
}
|
|
27211
27265
|
static isSuccess(transactionReceipt) {
|
|
27212
|
-
return transactionReceipt.execution_status ===
|
|
27266
|
+
return transactionReceipt.execution_status === TransactionExecutionStatus.SUCCEEDED;
|
|
27213
27267
|
}
|
|
27214
27268
|
static isReverted(transactionReceipt) {
|
|
27215
|
-
return transactionReceipt.execution_status ===
|
|
27269
|
+
return transactionReceipt.execution_status === TransactionExecutionStatus.REVERTED;
|
|
27216
27270
|
}
|
|
27217
27271
|
static isRejected(transactionReceipt) {
|
|
27218
|
-
return transactionReceipt.status ===
|
|
27272
|
+
return transactionReceipt.status === TransactionExecutionStatus.REJECTED;
|
|
27219
27273
|
}
|
|
27220
27274
|
};
|
|
27221
27275
|
|
|
@@ -27226,7 +27280,7 @@ var starknet = (() => {
|
|
|
27226
27280
|
constructor(optionsOrProvider) {
|
|
27227
27281
|
if (optionsOrProvider && "channel" in optionsOrProvider) {
|
|
27228
27282
|
this.channel = optionsOrProvider.channel;
|
|
27229
|
-
this.responseParser = optionsOrProvider.responseParser;
|
|
27283
|
+
this.responseParser = "responseParser" in optionsOrProvider ? optionsOrProvider.responseParser : new RPCResponseParser();
|
|
27230
27284
|
} else {
|
|
27231
27285
|
this.channel = new RpcChannel2({ ...optionsOrProvider, waitMode: false });
|
|
27232
27286
|
this.responseParser = new RPCResponseParser(optionsOrProvider?.feeMarginPercentage);
|
|
@@ -27279,10 +27333,10 @@ var starknet = (() => {
|
|
|
27279
27333
|
* ```
|
|
27280
27334
|
*/
|
|
27281
27335
|
async waitForBlock(blockIdentifier = "pending", retryInterval = 5e3) {
|
|
27282
|
-
if (blockIdentifier ===
|
|
27336
|
+
if (blockIdentifier === BlockTag.LATEST)
|
|
27283
27337
|
return;
|
|
27284
27338
|
const currentBlock = await this.getBlockNumber();
|
|
27285
|
-
const targetBlock = blockIdentifier ===
|
|
27339
|
+
const targetBlock = blockIdentifier === BlockTag.PENDING ? currentBlock + 1 : Number(toHex(blockIdentifier));
|
|
27286
27340
|
if (targetBlock <= currentBlock)
|
|
27287
27341
|
return;
|
|
27288
27342
|
const { retries } = this.channel;
|
|
@@ -27341,11 +27395,11 @@ var starknet = (() => {
|
|
|
27341
27395
|
}
|
|
27342
27396
|
/**
|
|
27343
27397
|
* Return transactions from pending block
|
|
27344
|
-
* @deprecated Instead use getBlock(BlockTag.
|
|
27398
|
+
* @deprecated Instead use getBlock(BlockTag.PENDING); (will be removed in next minor version)
|
|
27345
27399
|
* Utility method, same result can be achieved using getBlockWithTxHashes(BlockTag.pending);
|
|
27346
27400
|
*/
|
|
27347
27401
|
async getPendingTransactions() {
|
|
27348
|
-
const { transactions } = await this.getBlockWithTxHashes(
|
|
27402
|
+
const { transactions } = await this.getBlockWithTxHashes(BlockTag.PENDING).then(
|
|
27349
27403
|
this.responseParser.parseGetBlockResponse
|
|
27350
27404
|
);
|
|
27351
27405
|
return Promise.all(transactions.map((it) => this.getTransactionByHash(it)));
|
|
@@ -27436,7 +27490,7 @@ var starknet = (() => {
|
|
|
27436
27490
|
return this.channel.getEstimateFee(
|
|
27437
27491
|
[
|
|
27438
27492
|
{
|
|
27439
|
-
type:
|
|
27493
|
+
type: TransactionType.INVOKE,
|
|
27440
27494
|
...invocation,
|
|
27441
27495
|
...invocationDetails
|
|
27442
27496
|
}
|
|
@@ -27448,7 +27502,7 @@ var starknet = (() => {
|
|
|
27448
27502
|
return this.channel.getEstimateFee(
|
|
27449
27503
|
[
|
|
27450
27504
|
{
|
|
27451
|
-
type:
|
|
27505
|
+
type: TransactionType.DECLARE,
|
|
27452
27506
|
...invocation,
|
|
27453
27507
|
...details
|
|
27454
27508
|
}
|
|
@@ -27460,7 +27514,7 @@ var starknet = (() => {
|
|
|
27460
27514
|
return this.channel.getEstimateFee(
|
|
27461
27515
|
[
|
|
27462
27516
|
{
|
|
27463
|
-
type:
|
|
27517
|
+
type: TransactionType.DEPLOY_ACCOUNT,
|
|
27464
27518
|
...invocation,
|
|
27465
27519
|
...details
|
|
27466
27520
|
}
|
|
@@ -27835,32 +27889,30 @@ var starknet = (() => {
|
|
|
27835
27889
|
}
|
|
27836
27890
|
return encoded;
|
|
27837
27891
|
}
|
|
27838
|
-
var StarknetIdContract =
|
|
27839
|
-
|
|
27840
|
-
|
|
27841
|
-
|
|
27842
|
-
})(StarknetIdContract || {});
|
|
27892
|
+
var StarknetIdContract = {
|
|
27893
|
+
MAINNET: "0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",
|
|
27894
|
+
TESTNET_SEPOLIA: "0x154bc2e1af9260b9e66af0e9c46fc757ff893b3ff6a85718a810baf1474"
|
|
27895
|
+
};
|
|
27843
27896
|
function getStarknetIdContract(chainId) {
|
|
27844
27897
|
switch (chainId) {
|
|
27845
|
-
case
|
|
27846
|
-
return
|
|
27847
|
-
case
|
|
27848
|
-
return
|
|
27898
|
+
case StarknetChainId.SN_MAIN:
|
|
27899
|
+
return StarknetIdContract.MAINNET;
|
|
27900
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27901
|
+
return StarknetIdContract.TESTNET_SEPOLIA;
|
|
27849
27902
|
default:
|
|
27850
27903
|
throw new Error("Starknet.id is not yet deployed on this network");
|
|
27851
27904
|
}
|
|
27852
27905
|
}
|
|
27853
|
-
var StarknetIdIdentityContract =
|
|
27854
|
-
|
|
27855
|
-
|
|
27856
|
-
|
|
27857
|
-
})(StarknetIdIdentityContract || {});
|
|
27906
|
+
var StarknetIdIdentityContract = {
|
|
27907
|
+
MAINNET: "0x05dbdedc203e92749e2e746e2d40a768d966bd243df04a6b712e222bc040a9af",
|
|
27908
|
+
TESTNET_SEPOLIA: "0x3697660a0981d734780731949ecb2b4a38d6a58fc41629ed611e8defda"
|
|
27909
|
+
};
|
|
27858
27910
|
function getStarknetIdIdentityContract(chainId) {
|
|
27859
27911
|
switch (chainId) {
|
|
27860
|
-
case
|
|
27861
|
-
return
|
|
27862
|
-
case
|
|
27863
|
-
return
|
|
27912
|
+
case StarknetChainId.SN_MAIN:
|
|
27913
|
+
return StarknetIdIdentityContract.MAINNET;
|
|
27914
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27915
|
+
return StarknetIdIdentityContract.TESTNET_SEPOLIA;
|
|
27864
27916
|
default:
|
|
27865
27917
|
throw new Error("Starknet.id verifier contract is not yet deployed on this network");
|
|
27866
27918
|
}
|
|
@@ -27868,57 +27920,54 @@ var starknet = (() => {
|
|
|
27868
27920
|
var StarknetIdMulticallContract = "0x034ffb8f4452df7a613a0210824d6414dbadcddce6c6e19bf4ddc9e22ce5f970";
|
|
27869
27921
|
function getStarknetIdMulticallContract(chainId) {
|
|
27870
27922
|
switch (chainId) {
|
|
27871
|
-
case
|
|
27923
|
+
case StarknetChainId.SN_MAIN:
|
|
27872
27924
|
return StarknetIdMulticallContract;
|
|
27873
|
-
case
|
|
27925
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27874
27926
|
return StarknetIdMulticallContract;
|
|
27875
27927
|
default:
|
|
27876
27928
|
throw new Error("Starknet.id multicall contract is not yet deployed on this network");
|
|
27877
27929
|
}
|
|
27878
27930
|
}
|
|
27879
|
-
var StarknetIdVerifierContract =
|
|
27880
|
-
|
|
27881
|
-
|
|
27882
|
-
|
|
27883
|
-
})(StarknetIdVerifierContract || {});
|
|
27931
|
+
var StarknetIdVerifierContract = {
|
|
27932
|
+
MAINNET: "0x07d14dfd8ee95b41fce179170d88ba1f0d5a512e13aeb232f19cfeec0a88f8bf",
|
|
27933
|
+
TESTNET_SEPOLIA: "0x60B94fEDe525f815AE5E8377A463e121C787cCCf3a36358Aa9B18c12c4D566"
|
|
27934
|
+
};
|
|
27884
27935
|
function getStarknetIdVerifierContract(chainId) {
|
|
27885
27936
|
switch (chainId) {
|
|
27886
|
-
case
|
|
27887
|
-
return
|
|
27888
|
-
case
|
|
27889
|
-
return
|
|
27937
|
+
case StarknetChainId.SN_MAIN:
|
|
27938
|
+
return StarknetIdVerifierContract.MAINNET;
|
|
27939
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27940
|
+
return StarknetIdVerifierContract.TESTNET_SEPOLIA;
|
|
27890
27941
|
default:
|
|
27891
27942
|
throw new Error("Starknet.id verifier contract is not yet deployed on this network");
|
|
27892
27943
|
}
|
|
27893
27944
|
}
|
|
27894
|
-
var StarknetIdPfpContract =
|
|
27895
|
-
|
|
27896
|
-
|
|
27897
|
-
|
|
27898
|
-
})(StarknetIdPfpContract || {});
|
|
27945
|
+
var StarknetIdPfpContract = {
|
|
27946
|
+
MAINNET: "0x070aaa20ec4a46da57c932d9fd89ca5e6bb9ca3188d3df361a32306aff7d59c7",
|
|
27947
|
+
TESTNET_SEPOLIA: "0x9e7bdb8dabd02ea8cfc23b1d1c5278e46490f193f87516ed5ff2dfec02"
|
|
27948
|
+
};
|
|
27899
27949
|
function getStarknetIdPfpContract(chainId) {
|
|
27900
27950
|
switch (chainId) {
|
|
27901
|
-
case
|
|
27902
|
-
return
|
|
27903
|
-
case
|
|
27904
|
-
return
|
|
27951
|
+
case StarknetChainId.SN_MAIN:
|
|
27952
|
+
return StarknetIdPfpContract.MAINNET;
|
|
27953
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27954
|
+
return StarknetIdPfpContract.TESTNET_SEPOLIA;
|
|
27905
27955
|
default:
|
|
27906
27956
|
throw new Error(
|
|
27907
27957
|
"Starknet.id profile picture verifier contract is not yet deployed on this network"
|
|
27908
27958
|
);
|
|
27909
27959
|
}
|
|
27910
27960
|
}
|
|
27911
|
-
var StarknetIdPopContract =
|
|
27912
|
-
|
|
27913
|
-
|
|
27914
|
-
|
|
27915
|
-
})(StarknetIdPopContract || {});
|
|
27961
|
+
var StarknetIdPopContract = {
|
|
27962
|
+
MAINNET: "0x0293eb2ba9862f762bd3036586d5755a782bd22e6f5028320f1d0405fd47bff4",
|
|
27963
|
+
TESTNET_SEPOLIA: "0x15ae88ae054caa74090b89025c1595683f12edf7a4ed2ad0274de3e1d4a"
|
|
27964
|
+
};
|
|
27916
27965
|
function getStarknetIdPopContract(chainId) {
|
|
27917
27966
|
switch (chainId) {
|
|
27918
|
-
case
|
|
27919
|
-
return
|
|
27920
|
-
case
|
|
27921
|
-
return
|
|
27967
|
+
case StarknetChainId.SN_MAIN:
|
|
27968
|
+
return StarknetIdPopContract.MAINNET;
|
|
27969
|
+
case StarknetChainId.SN_SEPOLIA:
|
|
27970
|
+
return StarknetIdPopContract.TESTNET_SEPOLIA;
|
|
27922
27971
|
default:
|
|
27923
27972
|
throw new Error(
|
|
27924
27973
|
"Starknet.id proof of personhood verifier contract is not yet deployed on this network"
|
|
@@ -27981,7 +28030,14 @@ var starknet = (() => {
|
|
|
27981
28030
|
const chainId = await provider.getChainId();
|
|
27982
28031
|
const contract = StarknetIdContract2 ?? getStarknetIdContract(chainId);
|
|
27983
28032
|
try {
|
|
27984
|
-
const hexDomain = await
|
|
28033
|
+
const hexDomain = await provider.callContract({
|
|
28034
|
+
contractAddress: contract,
|
|
28035
|
+
entrypoint: "address_to_domain",
|
|
28036
|
+
calldata: CallData.compile({
|
|
28037
|
+
address,
|
|
28038
|
+
hint: []
|
|
28039
|
+
})
|
|
28040
|
+
});
|
|
27985
28041
|
const decimalDomain = hexDomain.map((element) => BigInt(element)).slice(1);
|
|
27986
28042
|
const stringDomain = useDecoded(decimalDomain);
|
|
27987
28043
|
if (!stringDomain) {
|
|
@@ -27995,26 +28051,6 @@ var starknet = (() => {
|
|
|
27995
28051
|
throw Error("Could not get stark name");
|
|
27996
28052
|
}
|
|
27997
28053
|
}
|
|
27998
|
-
static async executeStarkName(provider, address, contract) {
|
|
27999
|
-
try {
|
|
28000
|
-
return await provider.callContract({
|
|
28001
|
-
contractAddress: contract,
|
|
28002
|
-
entrypoint: "address_to_domain",
|
|
28003
|
-
calldata: CallData.compile({
|
|
28004
|
-
address,
|
|
28005
|
-
hint: []
|
|
28006
|
-
})
|
|
28007
|
-
});
|
|
28008
|
-
} catch (initialError) {
|
|
28009
|
-
return await provider.callContract({
|
|
28010
|
-
contractAddress: contract,
|
|
28011
|
-
entrypoint: "address_to_domain",
|
|
28012
|
-
calldata: CallData.compile({
|
|
28013
|
-
address
|
|
28014
|
-
})
|
|
28015
|
-
});
|
|
28016
|
-
}
|
|
28017
|
-
}
|
|
28018
28054
|
static async getAddressFromStarkName(provider, name, StarknetIdContract2) {
|
|
28019
28055
|
const chainId = await provider.getChainId();
|
|
28020
28056
|
const contract = StarknetIdContract2 ?? getStarknetIdContract(chainId);
|
|
@@ -28039,21 +28075,13 @@ var starknet = (() => {
|
|
|
28039
28075
|
const popContract = StarknetIdPopContract2 ?? getStarknetIdPopContract(chainId);
|
|
28040
28076
|
const multicallAddress = StarknetIdMulticallContract2 ?? getStarknetIdMulticallContract(chainId);
|
|
28041
28077
|
try {
|
|
28042
|
-
const initialCalldata = [];
|
|
28043
|
-
const fallbackCalldata = [];
|
|
28044
|
-
initialCalldata.push({
|
|
28045
|
-
execution: execution({}),
|
|
28046
|
-
to: dynamicCallData(contract),
|
|
28047
|
-
selector: dynamicCallData(getSelectorFromName("address_to_domain")),
|
|
28048
|
-
calldata: [dynamicCallData(address), dynamicCallData("0")]
|
|
28049
|
-
});
|
|
28050
|
-
fallbackCalldata.push({
|
|
28051
|
-
execution: execution({}),
|
|
28052
|
-
to: dynamicCallData(contract),
|
|
28053
|
-
selector: dynamicFelt(getSelectorFromName("address_to_domain")),
|
|
28054
|
-
calldata: [dynamicCallData(address)]
|
|
28055
|
-
});
|
|
28056
28078
|
const calls = [
|
|
28079
|
+
{
|
|
28080
|
+
execution: execution({}),
|
|
28081
|
+
to: dynamicCallData(contract),
|
|
28082
|
+
selector: dynamicCallData(getSelectorFromName("address_to_domain")),
|
|
28083
|
+
calldata: [dynamicCallData(address), dynamicCallData("0")]
|
|
28084
|
+
},
|
|
28057
28085
|
{
|
|
28058
28086
|
execution: execution({}),
|
|
28059
28087
|
to: dynamicFelt(contract),
|
|
@@ -28135,15 +28163,13 @@ var starknet = (() => {
|
|
|
28135
28163
|
calldata: [dynamicCallData(void 0, [7, 1]), dynamicCallData(void 0, [7, 2])]
|
|
28136
28164
|
}
|
|
28137
28165
|
];
|
|
28138
|
-
|
|
28139
|
-
|
|
28140
|
-
|
|
28141
|
-
|
|
28142
|
-
|
|
28143
|
-
|
|
28144
|
-
|
|
28145
|
-
fallbackCalldata
|
|
28146
|
-
);
|
|
28166
|
+
const data = await provider.callContract({
|
|
28167
|
+
contractAddress: multicallAddress,
|
|
28168
|
+
entrypoint: "aggregate",
|
|
28169
|
+
calldata: CallData.compile({
|
|
28170
|
+
calls
|
|
28171
|
+
})
|
|
28172
|
+
});
|
|
28147
28173
|
if (Array.isArray(data)) {
|
|
28148
28174
|
const size = parseInt(data[0], 16);
|
|
28149
28175
|
const finalArray = [];
|
|
@@ -28183,25 +28209,6 @@ var starknet = (() => {
|
|
|
28183
28209
|
throw Error("Could not get user stark profile data from address");
|
|
28184
28210
|
}
|
|
28185
28211
|
}
|
|
28186
|
-
static async executeStarkProfile(provider, contract, functionName, initialCalldata, fallbackCalldata) {
|
|
28187
|
-
try {
|
|
28188
|
-
return await provider.callContract({
|
|
28189
|
-
contractAddress: contract,
|
|
28190
|
-
entrypoint: functionName,
|
|
28191
|
-
calldata: CallData.compile({
|
|
28192
|
-
calls: initialCalldata
|
|
28193
|
-
})
|
|
28194
|
-
});
|
|
28195
|
-
} catch (initialError) {
|
|
28196
|
-
return await provider.callContract({
|
|
28197
|
-
contractAddress: contract,
|
|
28198
|
-
entrypoint: functionName,
|
|
28199
|
-
calldata: CallData.compile({
|
|
28200
|
-
calls: fallbackCalldata
|
|
28201
|
-
})
|
|
28202
|
-
});
|
|
28203
|
-
}
|
|
28204
|
-
}
|
|
28205
28212
|
};
|
|
28206
28213
|
|
|
28207
28214
|
// src/provider/extensions/default.ts
|
|
@@ -28245,16 +28252,30 @@ var starknet = (() => {
|
|
|
28245
28252
|
branches = [];
|
|
28246
28253
|
root;
|
|
28247
28254
|
hashMethod;
|
|
28255
|
+
/**
|
|
28256
|
+
* Create a Merkle tree
|
|
28257
|
+
*
|
|
28258
|
+
* @param leafHashes hex-string array
|
|
28259
|
+
* @param hashMethod hash method to use, default: Pedersen
|
|
28260
|
+
* @returns created Merkle tree
|
|
28261
|
+
* @example
|
|
28262
|
+
* ```typescript
|
|
28263
|
+
* const leaves = ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7'];
|
|
28264
|
+
* const tree = new MerkleTree(leaves);
|
|
28265
|
+
* // tree = {
|
|
28266
|
+
* // branches: [['0x5bb9440e2...', '0x262697b88...', ...], ['0x38118a340...', ...], ...],
|
|
28267
|
+
* // leaves: ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7'],
|
|
28268
|
+
* // root: '0x7f748c75e5bdb7ae28013f076b8ab650c4e01d3530c6e5ab665f9f1accbe7d4',
|
|
28269
|
+
* // hashMethod: [Function computePedersenHash],
|
|
28270
|
+
* // }
|
|
28271
|
+
* ```
|
|
28272
|
+
*/
|
|
28248
28273
|
constructor(leafHashes, hashMethod = computePedersenHash) {
|
|
28249
28274
|
this.hashMethod = hashMethod;
|
|
28250
28275
|
this.leaves = leafHashes;
|
|
28251
28276
|
this.root = this.build(leafHashes);
|
|
28252
28277
|
}
|
|
28253
|
-
/**
|
|
28254
|
-
* Create Merkle tree
|
|
28255
|
-
* @param leaves hex-string array
|
|
28256
|
-
* @returns format: hex-string; Merkle tree root
|
|
28257
|
-
*/
|
|
28278
|
+
/** @ignore */
|
|
28258
28279
|
build(leaves) {
|
|
28259
28280
|
if (leaves.length === 1) {
|
|
28260
28281
|
return leaves[0];
|
|
@@ -28273,19 +28294,44 @@ var starknet = (() => {
|
|
|
28273
28294
|
return this.build(newLeaves);
|
|
28274
28295
|
}
|
|
28275
28296
|
/**
|
|
28276
|
-
*
|
|
28277
|
-
*
|
|
28297
|
+
* Calculate hash from ordered a and b, Pedersen hash default
|
|
28298
|
+
*
|
|
28299
|
+
* @param a first value
|
|
28300
|
+
* @param b second value
|
|
28301
|
+
* @param hashMethod hash method to use, default: Pedersen
|
|
28302
|
+
* @returns result of the hash function
|
|
28303
|
+
* @example
|
|
28304
|
+
* ```typescript
|
|
28305
|
+
* const result1 = MerkleTree.hash('0xabc', '0xdef');
|
|
28306
|
+
* // result1 = '0x484f029da7914ada038b1adf67fc83632364a3ebc2cd9349b41ab61626d9e82'
|
|
28307
|
+
*
|
|
28308
|
+
* const customHashMethod = (a, b) => `custom_${a}_${b}`;
|
|
28309
|
+
* const result2 = MerkleTree.hash('0xabc', '0xdef', customHashMethod);
|
|
28310
|
+
* // result2 = 'custom_2748_3567'
|
|
28311
|
+
* ```
|
|
28278
28312
|
*/
|
|
28279
28313
|
static hash(a, b, hashMethod = computePedersenHash) {
|
|
28280
28314
|
const [aSorted, bSorted] = [BigInt(a), BigInt(b)].sort((x, y) => x >= y ? 1 : -1);
|
|
28281
28315
|
return hashMethod(aSorted, bSorted);
|
|
28282
28316
|
}
|
|
28283
28317
|
/**
|
|
28284
|
-
*
|
|
28318
|
+
* Calculates the merkle membership proof path
|
|
28319
|
+
*
|
|
28285
28320
|
* @param leaf hex-string
|
|
28286
28321
|
* @param branch hex-string array
|
|
28287
28322
|
* @param hashPath hex-string array
|
|
28288
|
-
* @returns
|
|
28323
|
+
* @returns collection of merkle proof hex-string hashes
|
|
28324
|
+
* @example
|
|
28325
|
+
* ```typescript
|
|
28326
|
+
* const leaves = ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7'];
|
|
28327
|
+
* const tree = new MerkleTree(leaves);
|
|
28328
|
+
* const result = tree.getProof('0x3');
|
|
28329
|
+
* // result = [
|
|
28330
|
+
* // '0x4',
|
|
28331
|
+
* // '0x5bb9440e27889a364bcb678b1f679ecd1347acdedcbf36e83494f857cc58026',
|
|
28332
|
+
* // '0x8c0e46dd2df9aaf3a8ebfbc25408a582ad7fa7171f0698ddbbc5130b4b4e60',
|
|
28333
|
+
* // ]
|
|
28334
|
+
* ```
|
|
28289
28335
|
*/
|
|
28290
28336
|
getProof(leaf, branch = this.leaves, hashPath = []) {
|
|
28291
28337
|
const index = branch.indexOf(leaf);
|
|
@@ -28326,14 +28372,14 @@ var starknet = (() => {
|
|
|
28326
28372
|
)
|
|
28327
28373
|
};
|
|
28328
28374
|
var revisionConfiguration = {
|
|
28329
|
-
[TypedDataRevision.
|
|
28375
|
+
[TypedDataRevision.ACTIVE]: {
|
|
28330
28376
|
domain: "StarknetDomain",
|
|
28331
28377
|
hashMethod: computePoseidonHashOnElements,
|
|
28332
28378
|
hashMerkleMethod: computePoseidonHash,
|
|
28333
28379
|
escapeTypeString: (s) => `"${s}"`,
|
|
28334
28380
|
presetTypes
|
|
28335
28381
|
},
|
|
28336
|
-
[TypedDataRevision.
|
|
28382
|
+
[TypedDataRevision.LEGACY]: {
|
|
28337
28383
|
domain: "StarkNetDomain",
|
|
28338
28384
|
hashMethod: computePedersenHashOnElements,
|
|
28339
28385
|
hashMerkleMethod: computePedersenHash,
|
|
@@ -28346,10 +28392,10 @@ var starknet = (() => {
|
|
|
28346
28392
|
assert(value >= min && value <= max, `${value} (${type}) is out of bounds [${min}, ${max}]`);
|
|
28347
28393
|
}
|
|
28348
28394
|
function identifyRevision({ types, domain }) {
|
|
28349
|
-
if (revisionConfiguration[TypedDataRevision.
|
|
28350
|
-
return TypedDataRevision.
|
|
28351
|
-
if (revisionConfiguration[TypedDataRevision.
|
|
28352
|
-
return TypedDataRevision.
|
|
28395
|
+
if (revisionConfiguration[TypedDataRevision.ACTIVE].domain in types && domain.revision === TypedDataRevision.ACTIVE)
|
|
28396
|
+
return TypedDataRevision.ACTIVE;
|
|
28397
|
+
if (revisionConfiguration[TypedDataRevision.LEGACY].domain in types && (domain.revision ?? TypedDataRevision.LEGACY) === TypedDataRevision.LEGACY)
|
|
28398
|
+
return TypedDataRevision.LEGACY;
|
|
28353
28399
|
return void 0;
|
|
28354
28400
|
}
|
|
28355
28401
|
function getHex(value) {
|
|
@@ -28374,10 +28420,10 @@ var starknet = (() => {
|
|
|
28374
28420
|
function isMerkleTreeType(type) {
|
|
28375
28421
|
return type.type === "merkletree";
|
|
28376
28422
|
}
|
|
28377
|
-
function getDependencies(types, type, dependencies = [], contains = "", revision = TypedDataRevision.
|
|
28423
|
+
function getDependencies(types, type, dependencies = [], contains = "", revision = TypedDataRevision.LEGACY) {
|
|
28378
28424
|
if (type[type.length - 1] === "*") {
|
|
28379
28425
|
type = type.slice(0, -1);
|
|
28380
|
-
} else if (revision === TypedDataRevision.
|
|
28426
|
+
} else if (revision === TypedDataRevision.ACTIVE) {
|
|
28381
28427
|
if (type === "enum") {
|
|
28382
28428
|
type = contains;
|
|
28383
28429
|
} else if (type.match(/^\(.*\)$/)) {
|
|
@@ -28415,8 +28461,8 @@ var starknet = (() => {
|
|
|
28415
28461
|
}
|
|
28416
28462
|
return "raw";
|
|
28417
28463
|
}
|
|
28418
|
-
function encodeType(types, type, revision = TypedDataRevision.
|
|
28419
|
-
const allTypes = revision === TypedDataRevision.
|
|
28464
|
+
function encodeType(types, type, revision = TypedDataRevision.LEGACY) {
|
|
28465
|
+
const allTypes = revision === TypedDataRevision.ACTIVE ? { ...types, ...revisionConfiguration[revision].presetTypes } : types;
|
|
28420
28466
|
const [primary, ...dependencies] = getDependencies(
|
|
28421
28467
|
allTypes,
|
|
28422
28468
|
type,
|
|
@@ -28428,17 +28474,17 @@ var starknet = (() => {
|
|
|
28428
28474
|
const esc = revisionConfiguration[revision].escapeTypeString;
|
|
28429
28475
|
return newTypes.map((dependency) => {
|
|
28430
28476
|
const dependencyElements = allTypes[dependency].map((t) => {
|
|
28431
|
-
const targetType = t.type === "enum" && revision === TypedDataRevision.
|
|
28477
|
+
const targetType = t.type === "enum" && revision === TypedDataRevision.ACTIVE ? t.contains : t.type;
|
|
28432
28478
|
const typeString = targetType.match(/^\(.*\)$/) ? `(${targetType.slice(1, -1).split(",").map((e) => e ? esc(e) : e).join(",")})` : esc(targetType);
|
|
28433
28479
|
return `${esc(t.name)}:${typeString}`;
|
|
28434
28480
|
});
|
|
28435
28481
|
return `${esc(dependency)}(${dependencyElements})`;
|
|
28436
28482
|
}).join("");
|
|
28437
28483
|
}
|
|
28438
|
-
function getTypeHash(types, type, revision = TypedDataRevision.
|
|
28484
|
+
function getTypeHash(types, type, revision = TypedDataRevision.LEGACY) {
|
|
28439
28485
|
return getSelectorFromName(encodeType(types, type, revision));
|
|
28440
28486
|
}
|
|
28441
|
-
function encodeValue(types, type, data, ctx = {}, revision = TypedDataRevision.
|
|
28487
|
+
function encodeValue(types, type, data, ctx = {}, revision = TypedDataRevision.LEGACY) {
|
|
28442
28488
|
if (types[type]) {
|
|
28443
28489
|
return [type, getStructHash(types, type, data, revision)];
|
|
28444
28490
|
}
|
|
@@ -28461,7 +28507,7 @@ var starknet = (() => {
|
|
|
28461
28507
|
}
|
|
28462
28508
|
switch (type) {
|
|
28463
28509
|
case "enum": {
|
|
28464
|
-
if (revision === TypedDataRevision.
|
|
28510
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28465
28511
|
const [variantKey, variantData] = Object.entries(data)[0];
|
|
28466
28512
|
const parentType = types[ctx.parent][0];
|
|
28467
28513
|
const enumType = types[parentType.contains];
|
|
@@ -28495,7 +28541,7 @@ var starknet = (() => {
|
|
|
28495
28541
|
return ["felt", prepareSelector(data)];
|
|
28496
28542
|
}
|
|
28497
28543
|
case "string": {
|
|
28498
|
-
if (revision === TypedDataRevision.
|
|
28544
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28499
28545
|
const byteArray = byteArrayFromString(data);
|
|
28500
28546
|
const elements = [
|
|
28501
28547
|
byteArray.data.length,
|
|
@@ -28508,7 +28554,7 @@ var starknet = (() => {
|
|
|
28508
28554
|
return [type, getHex(data)];
|
|
28509
28555
|
}
|
|
28510
28556
|
case "i128": {
|
|
28511
|
-
if (revision === TypedDataRevision.
|
|
28557
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28512
28558
|
const value = BigInt(data);
|
|
28513
28559
|
assertRange(value, type, RANGE_I128);
|
|
28514
28560
|
return [type, getHex(value < 0n ? PRIME + value : value)];
|
|
@@ -28517,40 +28563,40 @@ var starknet = (() => {
|
|
|
28517
28563
|
}
|
|
28518
28564
|
case "timestamp":
|
|
28519
28565
|
case "u128": {
|
|
28520
|
-
if (revision === TypedDataRevision.
|
|
28566
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28521
28567
|
assertRange(data, type, RANGE_U128);
|
|
28522
28568
|
}
|
|
28523
28569
|
return [type, getHex(data)];
|
|
28524
28570
|
}
|
|
28525
28571
|
case "felt":
|
|
28526
28572
|
case "shortstring": {
|
|
28527
|
-
if (revision === TypedDataRevision.
|
|
28573
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28528
28574
|
assertRange(getHex(data), type, RANGE_FELT);
|
|
28529
28575
|
}
|
|
28530
28576
|
return [type, getHex(data)];
|
|
28531
28577
|
}
|
|
28532
28578
|
case "ClassHash":
|
|
28533
28579
|
case "ContractAddress": {
|
|
28534
|
-
if (revision === TypedDataRevision.
|
|
28580
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28535
28581
|
assertRange(data, type, RANGE_FELT);
|
|
28536
28582
|
}
|
|
28537
28583
|
return [type, getHex(data)];
|
|
28538
28584
|
}
|
|
28539
28585
|
case "bool": {
|
|
28540
|
-
if (revision === TypedDataRevision.
|
|
28586
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28541
28587
|
assert(typeof data === "boolean", `Type mismatch for ${type} ${data}`);
|
|
28542
28588
|
}
|
|
28543
28589
|
return [type, getHex(data)];
|
|
28544
28590
|
}
|
|
28545
28591
|
default: {
|
|
28546
|
-
if (revision === TypedDataRevision.
|
|
28592
|
+
if (revision === TypedDataRevision.ACTIVE) {
|
|
28547
28593
|
throw new Error(`Unsupported type: ${type}`);
|
|
28548
28594
|
}
|
|
28549
28595
|
return [type, getHex(data)];
|
|
28550
28596
|
}
|
|
28551
28597
|
}
|
|
28552
28598
|
}
|
|
28553
|
-
function encodeData(types, type, data, revision = TypedDataRevision.
|
|
28599
|
+
function encodeData(types, type, data, revision = TypedDataRevision.LEGACY) {
|
|
28554
28600
|
const targetType = types[type] ?? revisionConfiguration[revision].presetTypes[type];
|
|
28555
28601
|
const [returnTypes, values] = targetType.reduce(
|
|
28556
28602
|
([ts, vs], field) => {
|
|
@@ -28569,7 +28615,7 @@ var starknet = (() => {
|
|
|
28569
28615
|
);
|
|
28570
28616
|
return [returnTypes, values];
|
|
28571
28617
|
}
|
|
28572
|
-
function getStructHash(types, type, data, revision = TypedDataRevision.
|
|
28618
|
+
function getStructHash(types, type, data, revision = TypedDataRevision.LEGACY) {
|
|
28573
28619
|
return revisionConfiguration[revision].hashMethod(encodeData(types, type, data, revision)[1]);
|
|
28574
28620
|
}
|
|
28575
28621
|
function getMessageHash(typedData, account) {
|
|
@@ -28824,7 +28870,128 @@ var starknet = (() => {
|
|
|
28824
28870
|
}
|
|
28825
28871
|
};
|
|
28826
28872
|
|
|
28827
|
-
// src/utils/events.ts
|
|
28873
|
+
// src/utils/events/index.ts
|
|
28874
|
+
var events_exports = {};
|
|
28875
|
+
__export(events_exports, {
|
|
28876
|
+
getAbiEvents: () => getAbiEvents,
|
|
28877
|
+
isAbiEvent: () => isAbiEvent,
|
|
28878
|
+
isObject: () => isObject2,
|
|
28879
|
+
parseEvents: () => parseEvents,
|
|
28880
|
+
parseUDCEvent: () => parseUDCEvent
|
|
28881
|
+
});
|
|
28882
|
+
function isAbiEvent(object) {
|
|
28883
|
+
return object.type === "event";
|
|
28884
|
+
}
|
|
28885
|
+
function getCairo0AbiEvents(abi) {
|
|
28886
|
+
return abi.filter((abiEntry) => abiEntry.type === "event").reduce((acc, abiEntry) => {
|
|
28887
|
+
const entryName = abiEntry.name;
|
|
28888
|
+
const abiEntryMod = { ...abiEntry };
|
|
28889
|
+
abiEntryMod.name = entryName;
|
|
28890
|
+
return {
|
|
28891
|
+
...acc,
|
|
28892
|
+
[addHexPrefix(esm_exports2.keccak(utf8ToArray(entryName)).toString(16))]: abiEntryMod
|
|
28893
|
+
};
|
|
28894
|
+
}, {});
|
|
28895
|
+
}
|
|
28896
|
+
function getCairo1AbiEvents(abi) {
|
|
28897
|
+
const abiEventsStructs = abi.filter((obj) => isAbiEvent(obj) && obj.kind === "struct");
|
|
28898
|
+
const abiEventsEnums = abi.filter((obj) => isAbiEvent(obj) && obj.kind === "enum");
|
|
28899
|
+
const abiEventsData = abiEventsStructs.reduce((acc, event) => {
|
|
28900
|
+
let nameList = [];
|
|
28901
|
+
let { name } = event;
|
|
28902
|
+
let flat = false;
|
|
28903
|
+
const findName = (variant) => variant.type === name;
|
|
28904
|
+
while (true) {
|
|
28905
|
+
const eventEnum = abiEventsEnums.find((eventE) => eventE.variants.some(findName));
|
|
28906
|
+
if (typeof eventEnum === "undefined")
|
|
28907
|
+
break;
|
|
28908
|
+
const variant = eventEnum.variants.find(findName);
|
|
28909
|
+
nameList.unshift(variant.name);
|
|
28910
|
+
if (variant.kind === "flat")
|
|
28911
|
+
flat = true;
|
|
28912
|
+
name = eventEnum.name;
|
|
28913
|
+
}
|
|
28914
|
+
if (nameList.length === 0) {
|
|
28915
|
+
throw new Error("inconsistency in ABI events definition.");
|
|
28916
|
+
}
|
|
28917
|
+
if (flat)
|
|
28918
|
+
nameList = [nameList[nameList.length - 1]];
|
|
28919
|
+
const final = nameList.pop();
|
|
28920
|
+
let result = {
|
|
28921
|
+
[addHexPrefix(esm_exports2.keccak(utf8ToArray(final)).toString(16))]: event
|
|
28922
|
+
};
|
|
28923
|
+
while (nameList.length > 0) {
|
|
28924
|
+
result = {
|
|
28925
|
+
[addHexPrefix(esm_exports2.keccak(utf8ToArray(nameList.pop())).toString(16))]: result
|
|
28926
|
+
};
|
|
28927
|
+
}
|
|
28928
|
+
result = { ...result };
|
|
28929
|
+
return mergeAbiEvents(acc, result);
|
|
28930
|
+
}, {});
|
|
28931
|
+
return abiEventsData;
|
|
28932
|
+
}
|
|
28933
|
+
function getAbiEvents(abi) {
|
|
28934
|
+
return isCairo1Abi(abi) ? getCairo1AbiEvents(abi) : getCairo0AbiEvents(abi);
|
|
28935
|
+
}
|
|
28936
|
+
function isObject2(item) {
|
|
28937
|
+
return item && typeof item === "object" && !Array.isArray(item);
|
|
28938
|
+
}
|
|
28939
|
+
function mergeAbiEvents(target, source) {
|
|
28940
|
+
const output3 = { ...target };
|
|
28941
|
+
if (isObject2(target) && isObject2(source)) {
|
|
28942
|
+
Object.keys(source).forEach((key) => {
|
|
28943
|
+
if (isObject2(source[key])) {
|
|
28944
|
+
if (!(key in target))
|
|
28945
|
+
Object.assign(output3, { [key]: source[key] });
|
|
28946
|
+
else
|
|
28947
|
+
output3[key] = mergeAbiEvents(target[key], source[key]);
|
|
28948
|
+
} else {
|
|
28949
|
+
Object.assign(output3, { [key]: source[key] });
|
|
28950
|
+
}
|
|
28951
|
+
});
|
|
28952
|
+
}
|
|
28953
|
+
return output3;
|
|
28954
|
+
}
|
|
28955
|
+
function parseEvents(providerReceivedEvents, abiEvents, abiStructs, abiEnums) {
|
|
28956
|
+
const ret = providerReceivedEvents.flat().reduce((acc, recEvent) => {
|
|
28957
|
+
let abiEvent = abiEvents[recEvent.keys.shift() ?? 0];
|
|
28958
|
+
if (!abiEvent) {
|
|
28959
|
+
return acc;
|
|
28960
|
+
}
|
|
28961
|
+
while (!abiEvent.name) {
|
|
28962
|
+
const hashName = recEvent.keys.shift();
|
|
28963
|
+
assert(!!hashName, 'Not enough data in "key" property of this event.');
|
|
28964
|
+
abiEvent = abiEvent[hashName];
|
|
28965
|
+
}
|
|
28966
|
+
const parsedEvent = {};
|
|
28967
|
+
parsedEvent[abiEvent.name] = {};
|
|
28968
|
+
const keysIter = recEvent.keys[Symbol.iterator]();
|
|
28969
|
+
const dataIter = recEvent.data[Symbol.iterator]();
|
|
28970
|
+
const abiEventKeys = abiEvent.members?.filter((it) => it.kind === "key") || abiEvent.keys;
|
|
28971
|
+
const abiEventData = abiEvent.members?.filter((it) => it.kind === "data") || abiEvent.data;
|
|
28972
|
+
abiEventKeys.forEach((key) => {
|
|
28973
|
+
parsedEvent[abiEvent.name][key.name] = responseParser(
|
|
28974
|
+
keysIter,
|
|
28975
|
+
key,
|
|
28976
|
+
abiStructs,
|
|
28977
|
+
abiEnums,
|
|
28978
|
+
parsedEvent[abiEvent.name]
|
|
28979
|
+
);
|
|
28980
|
+
});
|
|
28981
|
+
abiEventData.forEach((data) => {
|
|
28982
|
+
parsedEvent[abiEvent.name][data.name] = responseParser(
|
|
28983
|
+
dataIter,
|
|
28984
|
+
data,
|
|
28985
|
+
abiStructs,
|
|
28986
|
+
abiEnums,
|
|
28987
|
+
parsedEvent[abiEvent.name]
|
|
28988
|
+
);
|
|
28989
|
+
});
|
|
28990
|
+
acc.push(parsedEvent);
|
|
28991
|
+
return acc;
|
|
28992
|
+
}, []);
|
|
28993
|
+
return ret;
|
|
28994
|
+
}
|
|
28828
28995
|
function parseUDCEvent(txReceipt) {
|
|
28829
28996
|
if (!txReceipt.events) {
|
|
28830
28997
|
throw new Error("UDC emitted event is empty");
|
|
@@ -29051,7 +29218,7 @@ var starknet = (() => {
|
|
|
29051
29218
|
);
|
|
29052
29219
|
const estimate = await this.getUniversalSuggestedFee(
|
|
29053
29220
|
version,
|
|
29054
|
-
{ type:
|
|
29221
|
+
{ type: TransactionType.INVOKE, payload: transactions },
|
|
29055
29222
|
{
|
|
29056
29223
|
...details,
|
|
29057
29224
|
version
|
|
@@ -29109,7 +29276,7 @@ var starknet = (() => {
|
|
|
29109
29276
|
const estimate = await this.getUniversalSuggestedFee(
|
|
29110
29277
|
version,
|
|
29111
29278
|
{
|
|
29112
|
-
type:
|
|
29279
|
+
type: TransactionType.DECLARE,
|
|
29113
29280
|
payload: declareContractPayload
|
|
29114
29281
|
},
|
|
29115
29282
|
{
|
|
@@ -29177,7 +29344,7 @@ var starknet = (() => {
|
|
|
29177
29344
|
const estimate = await this.getUniversalSuggestedFee(
|
|
29178
29345
|
version,
|
|
29179
29346
|
{
|
|
29180
|
-
type:
|
|
29347
|
+
type: TransactionType.DEPLOY_ACCOUNT,
|
|
29181
29348
|
payload: {
|
|
29182
29349
|
classHash,
|
|
29183
29350
|
constructorCalldata: compiledCalldata,
|
|
@@ -29294,16 +29461,16 @@ var starknet = (() => {
|
|
|
29294
29461
|
async getSuggestedFee({ type, payload }, details) {
|
|
29295
29462
|
let feeEstimate;
|
|
29296
29463
|
switch (type) {
|
|
29297
|
-
case
|
|
29464
|
+
case TransactionType.INVOKE:
|
|
29298
29465
|
feeEstimate = await this.estimateInvokeFee(payload, details);
|
|
29299
29466
|
break;
|
|
29300
|
-
case
|
|
29467
|
+
case TransactionType.DECLARE:
|
|
29301
29468
|
feeEstimate = await this.estimateDeclareFee(payload, details);
|
|
29302
29469
|
break;
|
|
29303
|
-
case
|
|
29470
|
+
case TransactionType.DEPLOY_ACCOUNT:
|
|
29304
29471
|
feeEstimate = await this.estimateAccountDeployFee(payload, details);
|
|
29305
29472
|
break;
|
|
29306
|
-
case
|
|
29473
|
+
case TransactionType.DEPLOY:
|
|
29307
29474
|
feeEstimate = await this.estimateDeployFee(payload, details);
|
|
29308
29475
|
break;
|
|
29309
29476
|
default:
|
|
@@ -29405,7 +29572,7 @@ var starknet = (() => {
|
|
|
29405
29572
|
const chainId = await this.getChainId();
|
|
29406
29573
|
const versions = details.versions.map((it) => toTransactionVersion(it));
|
|
29407
29574
|
const tx0Payload = "payload" in invocations[0] ? invocations[0].payload : invocations[0];
|
|
29408
|
-
const cairoVersion = invocations[0].type ===
|
|
29575
|
+
const cairoVersion = invocations[0].type === TransactionType.DEPLOY_ACCOUNT ? await this.getCairoVersion(tx0Payload.classHash) : await this.getCairoVersion();
|
|
29409
29576
|
return Promise.all(
|
|
29410
29577
|
[].concat(invocations).map(async (transaction, index) => {
|
|
29411
29578
|
const txPayload = "payload" in transaction ? transaction.payload : transaction;
|
|
@@ -29425,7 +29592,7 @@ var starknet = (() => {
|
|
|
29425
29592
|
blockIdentifier,
|
|
29426
29593
|
version: ""
|
|
29427
29594
|
};
|
|
29428
|
-
if (transaction.type ===
|
|
29595
|
+
if (transaction.type === TransactionType.INVOKE) {
|
|
29429
29596
|
const versionX = reduceV2(versions[1]);
|
|
29430
29597
|
signerDetails.version = versionX;
|
|
29431
29598
|
common2.version = versionX;
|
|
@@ -29438,7 +29605,7 @@ var starknet = (() => {
|
|
|
29438
29605
|
...payload
|
|
29439
29606
|
};
|
|
29440
29607
|
}
|
|
29441
|
-
if (transaction.type ===
|
|
29608
|
+
if (transaction.type === TransactionType.DEPLOY) {
|
|
29442
29609
|
const versionX = reduceV2(versions[1]);
|
|
29443
29610
|
signerDetails.version = versionX;
|
|
29444
29611
|
common2.version = versionX;
|
|
@@ -29447,10 +29614,10 @@ var starknet = (() => {
|
|
|
29447
29614
|
return {
|
|
29448
29615
|
...common2,
|
|
29449
29616
|
...payload,
|
|
29450
|
-
type:
|
|
29617
|
+
type: TransactionType.INVOKE
|
|
29451
29618
|
};
|
|
29452
29619
|
}
|
|
29453
|
-
if (transaction.type ===
|
|
29620
|
+
if (transaction.type === TransactionType.DECLARE) {
|
|
29454
29621
|
const versionX = !isSierra(txPayload.contract) ? versions[0] : versions[1];
|
|
29455
29622
|
signerDetails.version = versionX;
|
|
29456
29623
|
common2.version = versionX;
|
|
@@ -29460,7 +29627,7 @@ var starknet = (() => {
|
|
|
29460
29627
|
...payload
|
|
29461
29628
|
};
|
|
29462
29629
|
}
|
|
29463
|
-
if (transaction.type ===
|
|
29630
|
+
if (transaction.type === TransactionType.DEPLOY_ACCOUNT) {
|
|
29464
29631
|
const versionX = reduceV2(versions[1]);
|
|
29465
29632
|
signerDetails.version = versionX;
|
|
29466
29633
|
common2.version = versionX;
|
|
@@ -29665,60 +29832,6 @@ var starknet = (() => {
|
|
|
29665
29832
|
// TODO: MISSING ESTIMATES
|
|
29666
29833
|
};
|
|
29667
29834
|
|
|
29668
|
-
// src/utils/events/index.ts
|
|
29669
|
-
var events_exports = {};
|
|
29670
|
-
__export(events_exports, {
|
|
29671
|
-
getAbiEvents: () => getAbiEvents,
|
|
29672
|
-
parseEvents: () => parseEvents
|
|
29673
|
-
});
|
|
29674
|
-
function getAbiEvents(abi) {
|
|
29675
|
-
return abi.filter((abiEntry) => abiEntry.type === "event" && (abiEntry.size || abiEntry.kind !== "enum")).reduce((acc, abiEntry) => {
|
|
29676
|
-
const entryName = abiEntry.name.slice(abiEntry.name.lastIndexOf(":") + 1);
|
|
29677
|
-
const abiEntryMod = { ...abiEntry };
|
|
29678
|
-
abiEntryMod.name = entryName;
|
|
29679
|
-
return {
|
|
29680
|
-
...acc,
|
|
29681
|
-
[addHexPrefix(esm_exports2.keccak(utf8ToArray(entryName)).toString(16))]: abiEntryMod
|
|
29682
|
-
};
|
|
29683
|
-
}, {});
|
|
29684
|
-
}
|
|
29685
|
-
function parseEvents(providerReceivedEvents, abiEvents, abiStructs, abiEnums) {
|
|
29686
|
-
const ret = providerReceivedEvents.flat().reduce((acc, recEvent) => {
|
|
29687
|
-
const abiEvent = abiEvents[recEvent.keys[0]];
|
|
29688
|
-
if (!abiEvent) {
|
|
29689
|
-
return acc;
|
|
29690
|
-
}
|
|
29691
|
-
const parsedEvent = {};
|
|
29692
|
-
parsedEvent[abiEvent.name] = {};
|
|
29693
|
-
recEvent.keys.shift();
|
|
29694
|
-
const keysIter = recEvent.keys[Symbol.iterator]();
|
|
29695
|
-
const dataIter = recEvent.data[Symbol.iterator]();
|
|
29696
|
-
const abiEventKeys = abiEvent.members?.filter((it) => it.kind === "key") || abiEvent.keys;
|
|
29697
|
-
const abiEventData = abiEvent.members?.filter((it) => it.kind === "data") || abiEvent.data;
|
|
29698
|
-
abiEventKeys.forEach((key) => {
|
|
29699
|
-
parsedEvent[abiEvent.name][key.name] = responseParser(
|
|
29700
|
-
keysIter,
|
|
29701
|
-
key,
|
|
29702
|
-
abiStructs,
|
|
29703
|
-
abiEnums,
|
|
29704
|
-
parsedEvent[abiEvent.name]
|
|
29705
|
-
);
|
|
29706
|
-
});
|
|
29707
|
-
abiEventData.forEach((data) => {
|
|
29708
|
-
parsedEvent[abiEvent.name][data.name] = responseParser(
|
|
29709
|
-
dataIter,
|
|
29710
|
-
data,
|
|
29711
|
-
abiStructs,
|
|
29712
|
-
abiEnums,
|
|
29713
|
-
parsedEvent[abiEvent.name]
|
|
29714
|
-
);
|
|
29715
|
-
});
|
|
29716
|
-
acc.push(parsedEvent);
|
|
29717
|
-
return acc;
|
|
29718
|
-
}, []);
|
|
29719
|
-
return ret;
|
|
29720
|
-
}
|
|
29721
|
-
|
|
29722
29835
|
// src/contract/default.ts
|
|
29723
29836
|
var splitArgsAndOptions = (args) => {
|
|
29724
29837
|
const options = [
|
|
@@ -29871,7 +29984,7 @@ var starknet = (() => {
|
|
|
29871
29984
|
assert(this.address !== null, "contract is not connected to an address");
|
|
29872
29985
|
const calldata = getCalldata(args, () => {
|
|
29873
29986
|
if (parseRequest) {
|
|
29874
|
-
this.callData.validate(
|
|
29987
|
+
this.callData.validate(ValidateType.CALL, method, args);
|
|
29875
29988
|
return this.callData.compile(method, args);
|
|
29876
29989
|
}
|
|
29877
29990
|
console.warn("Call skipped parsing but provided rawArgs, possible malfunction request");
|
|
@@ -29898,7 +30011,7 @@ var starknet = (() => {
|
|
|
29898
30011
|
assert(this.address !== null, "contract is not connected to an address");
|
|
29899
30012
|
const calldata = getCalldata(args, () => {
|
|
29900
30013
|
if (parseRequest) {
|
|
29901
|
-
this.callData.validate(
|
|
30014
|
+
this.callData.validate(ValidateType.INVOKE, method, args);
|
|
29902
30015
|
return this.callData.compile(method, args);
|
|
29903
30016
|
}
|
|
29904
30017
|
console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request");
|
|
@@ -29931,7 +30044,7 @@ var starknet = (() => {
|
|
|
29931
30044
|
async estimate(method, args = []) {
|
|
29932
30045
|
assert(this.address !== null, "contract is not connected to an address");
|
|
29933
30046
|
if (!getCalldata(args, () => false)) {
|
|
29934
|
-
this.callData.validate(
|
|
30047
|
+
this.callData.validate(ValidateType.INVOKE, method, args);
|
|
29935
30048
|
}
|
|
29936
30049
|
const invocation = this.populate(method, args);
|
|
29937
30050
|
if ("estimateInvokeFee" in this.providerOrAccount) {
|
|
@@ -30013,7 +30126,7 @@ var starknet = (() => {
|
|
|
30013
30126
|
const { args: param, options = { parseRequest: true } } = splitArgsAndOptions(args);
|
|
30014
30127
|
const constructorCalldata = getCalldata(param, () => {
|
|
30015
30128
|
if (options.parseRequest) {
|
|
30016
|
-
this.CallData.validate(
|
|
30129
|
+
this.CallData.validate(ValidateType.DEPLOY, "constructor", param);
|
|
30017
30130
|
return this.CallData.compile("constructor", param);
|
|
30018
30131
|
}
|
|
30019
30132
|
console.warn("Call skipped parsing but provided rawArgs, possible malfunction request");
|
|
@@ -30056,16 +30169,22 @@ var starknet = (() => {
|
|
|
30056
30169
|
// ethers.js' getDeployTransaction can't be supported as it requires the account or signer to return a signed transaction which is not possible with the current implementation
|
|
30057
30170
|
};
|
|
30058
30171
|
|
|
30172
|
+
// src/utils/responseParser/interface.ts
|
|
30173
|
+
var ResponseParser = class {
|
|
30174
|
+
};
|
|
30175
|
+
|
|
30059
30176
|
// src/utils/address.ts
|
|
30060
30177
|
function addAddressPadding(address) {
|
|
30061
|
-
|
|
30178
|
+
const hex = toHex(addHexPrefix(address.toString()));
|
|
30179
|
+
const padded = removeHexPrefix(hex).padStart(64, "0");
|
|
30180
|
+
return addHexPrefix(padded);
|
|
30062
30181
|
}
|
|
30063
30182
|
function validateAndParseAddress(address) {
|
|
30064
|
-
assertInRange(address, ZERO, ADDR_BOUND - 1n, "Starknet Address");
|
|
30065
30183
|
const result = addAddressPadding(address);
|
|
30066
30184
|
if (!result.match(/^(0x)?[0-9a-fA-F]{64}$/)) {
|
|
30067
30185
|
throw new Error("Invalid Address Format");
|
|
30068
30186
|
}
|
|
30187
|
+
assertInRange(result, ZERO, ADDR_BOUND - 1n, "Starknet Address");
|
|
30069
30188
|
return result;
|
|
30070
30189
|
}
|
|
30071
30190
|
function getChecksumAddress(address) {
|