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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LibraryError = exports.HttpError = exports.GatewayError = exports.CustomError = void 0;
|
|
7
|
+
exports.fixProto = fixProto;
|
|
8
|
+
exports.fixStack = fixStack;
|
|
9
|
+
function fixStack(target, fn = target.constructor) {
|
|
10
|
+
const {
|
|
11
|
+
captureStackTrace
|
|
12
|
+
} = Error;
|
|
13
|
+
captureStackTrace && captureStackTrace(target, fn);
|
|
14
|
+
}
|
|
15
|
+
function fixProto(target, prototype) {
|
|
16
|
+
const {
|
|
17
|
+
setPrototypeOf
|
|
18
|
+
} = Object;
|
|
19
|
+
setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;
|
|
20
|
+
}
|
|
21
|
+
class CustomError extends Error {
|
|
22
|
+
name;
|
|
23
|
+
constructor(message) {
|
|
24
|
+
super(message);
|
|
25
|
+
Object.defineProperty(this, "name", {
|
|
26
|
+
value: new.target.name,
|
|
27
|
+
enumerable: false,
|
|
28
|
+
configurable: true
|
|
29
|
+
});
|
|
30
|
+
fixProto(this, new.target.prototype);
|
|
31
|
+
fixStack(this);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.CustomError = CustomError;
|
|
35
|
+
class LibraryError extends CustomError {}
|
|
36
|
+
exports.LibraryError = LibraryError;
|
|
37
|
+
class GatewayError extends LibraryError {
|
|
38
|
+
constructor(message, errorCode) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.errorCode = errorCode;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.GatewayError = GatewayError;
|
|
44
|
+
class HttpError extends LibraryError {
|
|
45
|
+
constructor(message, errorCode) {
|
|
46
|
+
super(message);
|
|
47
|
+
this.errorCode = errorCode;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.HttpError = HttpError;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function fixStack(target: Error, fn?: Function): void;
|
|
2
|
+
export declare function fixProto(target: Error, prototype: {}): void;
|
|
3
|
+
export declare class CustomError extends Error {
|
|
4
|
+
name: string;
|
|
5
|
+
constructor(message?: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class LibraryError extends CustomError {
|
|
8
|
+
}
|
|
9
|
+
export declare class GatewayError extends LibraryError {
|
|
10
|
+
errorCode: string;
|
|
11
|
+
constructor(message: string, errorCode: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class HttpError extends LibraryError {
|
|
14
|
+
errorCode: number;
|
|
15
|
+
constructor(message: string, errorCode: number);
|
|
16
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function fixStack(target, fn = target.constructor) {
|
|
2
|
+
const { captureStackTrace } = Error;
|
|
3
|
+
captureStackTrace && captureStackTrace(target, fn);
|
|
4
|
+
}
|
|
5
|
+
export function fixProto(target, prototype) {
|
|
6
|
+
const { setPrototypeOf } = Object;
|
|
7
|
+
setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;
|
|
8
|
+
}
|
|
9
|
+
export class CustomError extends Error {
|
|
10
|
+
name;
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
Object.defineProperty(this, "name", {
|
|
14
|
+
value: new.target.name,
|
|
15
|
+
enumerable: false,
|
|
16
|
+
configurable: true
|
|
17
|
+
});
|
|
18
|
+
fixProto(this, new.target.prototype);
|
|
19
|
+
fixStack(this);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class LibraryError extends CustomError {
|
|
23
|
+
}
|
|
24
|
+
export class GatewayError extends LibraryError {
|
|
25
|
+
constructor(message, errorCode) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.errorCode = errorCode;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class HttpError extends LibraryError {
|
|
31
|
+
constructor(message, errorCode) {
|
|
32
|
+
super(message);
|
|
33
|
+
this.errorCode = errorCode;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RpcProvider = void 0;
|
|
7
|
+
var _tsMixer = require("ts-mixer");
|
|
8
|
+
var _rpc = require("../rpc.cjs");
|
|
9
|
+
var _starknetId = require("./starknetId.cjs");
|
|
10
|
+
class RpcProvider extends (0, _tsMixer.Mixin)(_rpc.RpcProvider, _starknetId.StarknetId) {}
|
|
11
|
+
exports.RpcProvider = RpcProvider;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RpcProvider as BaseRpcProvider } from '../rpc';
|
|
2
|
+
import { StarknetId } from './starknetId';
|
|
3
|
+
declare const RpcProvider_base: import("ts-mixer/dist/types/types").Class<any[], BaseRpcProvider & StarknetId, typeof BaseRpcProvider & typeof StarknetId>;
|
|
4
|
+
export declare class RpcProvider extends RpcProvider_base {
|
|
5
|
+
}
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StarknetId = void 0;
|
|
7
|
+
var _calldata = require("../../utils/calldata/index.cjs");
|
|
8
|
+
var _hash = require("../../utils/hash/index.cjs");
|
|
9
|
+
var _shortString = require("../../utils/shortString.cjs");
|
|
10
|
+
var _starknetId = require("../../utils/starknetId.cjs");
|
|
11
|
+
class StarknetId {
|
|
12
|
+
async getStarkName(address, StarknetIdContract) {
|
|
13
|
+
return StarknetId.getStarkName(
|
|
14
|
+
// After Mixin, this is ProviderInterface
|
|
15
|
+
this, address, StarknetIdContract);
|
|
16
|
+
}
|
|
17
|
+
async getAddressFromStarkName(name, StarknetIdContract) {
|
|
18
|
+
return StarknetId.getAddressFromStarkName(
|
|
19
|
+
// After Mixin, this is ProviderInterface
|
|
20
|
+
this, name, StarknetIdContract);
|
|
21
|
+
}
|
|
22
|
+
async getStarkProfile(address, StarknetIdContract, StarknetIdIdentityContract, StarknetIdVerifierContract, StarknetIdPfpContract, StarknetIdPopContract, StarknetIdMulticallContract) {
|
|
23
|
+
return StarknetId.getStarkProfile(
|
|
24
|
+
// After Mixin, this is ProviderInterface
|
|
25
|
+
this, address, StarknetIdContract, StarknetIdIdentityContract, StarknetIdVerifierContract, StarknetIdPfpContract, StarknetIdPopContract, StarknetIdMulticallContract);
|
|
26
|
+
}
|
|
27
|
+
static async getStarkName(provider, address, StarknetIdContract) {
|
|
28
|
+
const chainId = await provider.getChainId();
|
|
29
|
+
const contract = StarknetIdContract ?? (0, _starknetId.getStarknetIdContract)(chainId);
|
|
30
|
+
try {
|
|
31
|
+
const hexDomain = await provider.callContract({
|
|
32
|
+
contractAddress: contract,
|
|
33
|
+
entrypoint: "address_to_domain",
|
|
34
|
+
calldata: _calldata.CallData.compile({
|
|
35
|
+
address,
|
|
36
|
+
hint: []
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
const decimalDomain = hexDomain.map(element => BigInt(element)).slice(1);
|
|
40
|
+
const stringDomain = (0, _starknetId.useDecoded)(decimalDomain);
|
|
41
|
+
if (!stringDomain) {
|
|
42
|
+
throw Error("Starkname not found");
|
|
43
|
+
}
|
|
44
|
+
return stringDomain;
|
|
45
|
+
} catch (e) {
|
|
46
|
+
if (e instanceof Error && e.message === "Starkname not found") {
|
|
47
|
+
throw e;
|
|
48
|
+
}
|
|
49
|
+
throw Error("Could not get stark name");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
static async getAddressFromStarkName(provider, name, StarknetIdContract) {
|
|
53
|
+
const chainId = await provider.getChainId();
|
|
54
|
+
const contract = StarknetIdContract ?? (0, _starknetId.getStarknetIdContract)(chainId);
|
|
55
|
+
try {
|
|
56
|
+
const encodedDomain = name.replace(".stark", "").split(".").map(part => (0, _starknetId.useEncoded)(part).toString(10));
|
|
57
|
+
const addressData = await provider.callContract({
|
|
58
|
+
contractAddress: contract,
|
|
59
|
+
entrypoint: "domain_to_address",
|
|
60
|
+
calldata: _calldata.CallData.compile({
|
|
61
|
+
domain: encodedDomain,
|
|
62
|
+
hint: []
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
return addressData[0];
|
|
66
|
+
} catch {
|
|
67
|
+
throw Error("Could not get address from stark name");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static async getStarkProfile(provider, address, StarknetIdContract, StarknetIdIdentityContract, StarknetIdVerifierContract, StarknetIdPfpContract, StarknetIdPopContract, StarknetIdMulticallContract) {
|
|
71
|
+
const chainId = await provider.getChainId();
|
|
72
|
+
const contract = StarknetIdContract ?? (0, _starknetId.getStarknetIdContract)(chainId);
|
|
73
|
+
const identityContract = StarknetIdIdentityContract ?? (0, _starknetId.getStarknetIdIdentityContract)(chainId);
|
|
74
|
+
const verifierContract = StarknetIdVerifierContract ?? (0, _starknetId.getStarknetIdVerifierContract)(chainId);
|
|
75
|
+
const pfpContract = StarknetIdPfpContract ?? (0, _starknetId.getStarknetIdPfpContract)(chainId);
|
|
76
|
+
const popContract = StarknetIdPopContract ?? (0, _starknetId.getStarknetIdPopContract)(chainId);
|
|
77
|
+
const multicallAddress = StarknetIdMulticallContract ?? (0, _starknetId.getStarknetIdMulticallContract)(chainId);
|
|
78
|
+
try {
|
|
79
|
+
const calls = [{
|
|
80
|
+
execution: (0, _starknetId.execution)({}),
|
|
81
|
+
to: (0, _starknetId.dynamicCallData)(contract),
|
|
82
|
+
selector: (0, _starknetId.dynamicCallData)((0, _hash.getSelectorFromName)("address_to_domain")),
|
|
83
|
+
calldata: [(0, _starknetId.dynamicCallData)(address), (0, _starknetId.dynamicCallData)("0")]
|
|
84
|
+
}, {
|
|
85
|
+
execution: (0, _starknetId.execution)({}),
|
|
86
|
+
to: (0, _starknetId.dynamicFelt)(contract),
|
|
87
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("domain_to_id")),
|
|
88
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, void 0, [0, 0])]
|
|
89
|
+
}, {
|
|
90
|
+
execution: (0, _starknetId.execution)({}),
|
|
91
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
92
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_verifier_data")),
|
|
93
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("twitter")), (0, _starknetId.dynamicCallData)(verifierContract), (0, _starknetId.dynamicCallData)("0")]
|
|
94
|
+
}, {
|
|
95
|
+
execution: (0, _starknetId.execution)({}),
|
|
96
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
97
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_verifier_data")),
|
|
98
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("github")), (0, _starknetId.dynamicCallData)(verifierContract), (0, _starknetId.dynamicCallData)("0")]
|
|
99
|
+
}, {
|
|
100
|
+
execution: (0, _starknetId.execution)({}),
|
|
101
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
102
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_verifier_data")),
|
|
103
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("discord")), (0, _starknetId.dynamicCallData)(verifierContract), (0, _starknetId.dynamicCallData)("0")]
|
|
104
|
+
}, {
|
|
105
|
+
execution: (0, _starknetId.execution)({}),
|
|
106
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
107
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_verifier_data")),
|
|
108
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("proof_of_personhood")), (0, _starknetId.dynamicCallData)(popContract), (0, _starknetId.dynamicCallData)("0")]
|
|
109
|
+
},
|
|
110
|
+
// PFP
|
|
111
|
+
{
|
|
112
|
+
execution: (0, _starknetId.execution)({}),
|
|
113
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
114
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_verifier_data")),
|
|
115
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("nft_pp_contract")), (0, _starknetId.dynamicCallData)(pfpContract), (0, _starknetId.dynamicCallData)("0")]
|
|
116
|
+
}, {
|
|
117
|
+
execution: (0, _starknetId.execution)({}),
|
|
118
|
+
to: (0, _starknetId.dynamicFelt)(identityContract),
|
|
119
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("get_extended_verifier_data")),
|
|
120
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [1, 0]), (0, _starknetId.dynamicCallData)((0, _shortString.encodeShortString)("nft_pp_id")), (0, _starknetId.dynamicCallData)("2"), (0, _starknetId.dynamicCallData)(pfpContract), (0, _starknetId.dynamicCallData)("0")]
|
|
121
|
+
}, {
|
|
122
|
+
execution: (0, _starknetId.execution)(void 0, void 0, [6, 0, 0]),
|
|
123
|
+
to: (0, _starknetId.dynamicFelt)(void 0, [6, 0]),
|
|
124
|
+
selector: (0, _starknetId.dynamicFelt)((0, _hash.getSelectorFromName)("tokenURI")),
|
|
125
|
+
calldata: [(0, _starknetId.dynamicCallData)(void 0, [7, 1]), (0, _starknetId.dynamicCallData)(void 0, [7, 2])]
|
|
126
|
+
}];
|
|
127
|
+
const data = await provider.callContract({
|
|
128
|
+
contractAddress: multicallAddress,
|
|
129
|
+
entrypoint: "aggregate",
|
|
130
|
+
calldata: _calldata.CallData.compile({
|
|
131
|
+
calls
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
if (Array.isArray(data)) {
|
|
135
|
+
const size = parseInt(data[0], 16);
|
|
136
|
+
const finalArray = [];
|
|
137
|
+
let index = 1;
|
|
138
|
+
for (let i = 0; i < size; i += 1) {
|
|
139
|
+
if (index < data.length) {
|
|
140
|
+
const subArraySize = parseInt(data[index], 16);
|
|
141
|
+
index += 1;
|
|
142
|
+
const subArray = data.slice(index, index + subArraySize);
|
|
143
|
+
finalArray.push(subArray);
|
|
144
|
+
index += subArraySize;
|
|
145
|
+
} else {
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const name = (0, _starknetId.useDecoded)(finalArray[0].slice(1).map(hexString => BigInt(hexString)));
|
|
150
|
+
const twitter = finalArray[2][0] !== "0x0" ? BigInt(finalArray[2][0]).toString() : void 0;
|
|
151
|
+
const github = finalArray[3][0] !== "0x0" ? BigInt(finalArray[3][0]).toString() : void 0;
|
|
152
|
+
const discord = finalArray[4][0] !== "0x0" ? BigInt(finalArray[4][0]).toString() : void 0;
|
|
153
|
+
const proofOfPersonhood = finalArray[5][0] === "0x1";
|
|
154
|
+
const profilePictureMetadata = data[0] === "0x9" ? finalArray[8].slice(1).map(val => (0, _shortString.decodeShortString)(val)).join("") : void 0;
|
|
155
|
+
const profilePicture = profilePictureMetadata || `https://starknet.id/api/identicons/${BigInt(finalArray[1][0]).toString()}`;
|
|
156
|
+
return {
|
|
157
|
+
name,
|
|
158
|
+
twitter,
|
|
159
|
+
github,
|
|
160
|
+
discord,
|
|
161
|
+
proofOfPersonhood,
|
|
162
|
+
profilePicture
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
throw Error("Error while calling aggregate function");
|
|
166
|
+
} catch (e) {
|
|
167
|
+
if (e instanceof Error) {
|
|
168
|
+
throw e;
|
|
169
|
+
}
|
|
170
|
+
throw Error("Could not get user stark profile data from address");
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.StarknetId = StarknetId;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BigNumberish, StarkProfile } from '../../types';
|
|
2
|
+
import type { ProviderInterface } from '..';
|
|
3
|
+
export declare class StarknetId {
|
|
4
|
+
getStarkName(address: BigNumberish, StarknetIdContract?: string): Promise<string>;
|
|
5
|
+
getAddressFromStarkName(name: string, StarknetIdContract?: string): Promise<string>;
|
|
6
|
+
getStarkProfile(address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
|
|
7
|
+
static getStarkName(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string): Promise<string>;
|
|
8
|
+
static getAddressFromStarkName(provider: ProviderInterface, name: string, StarknetIdContract?: string): Promise<string>;
|
|
9
|
+
static getStarkProfile(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { CallData } from "../../utils/calldata/index.mjs";
|
|
2
|
+
import { getSelectorFromName } from "../../utils/hash/index.mjs";
|
|
3
|
+
import { decodeShortString, encodeShortString } from "../../utils/shortString.mjs";
|
|
4
|
+
import {
|
|
5
|
+
dynamicCallData,
|
|
6
|
+
dynamicFelt,
|
|
7
|
+
execution,
|
|
8
|
+
getStarknetIdContract,
|
|
9
|
+
getStarknetIdIdentityContract,
|
|
10
|
+
getStarknetIdMulticallContract,
|
|
11
|
+
getStarknetIdPfpContract,
|
|
12
|
+
getStarknetIdPopContract,
|
|
13
|
+
getStarknetIdVerifierContract,
|
|
14
|
+
useDecoded,
|
|
15
|
+
useEncoded
|
|
16
|
+
} from "../../utils/starknetId.mjs";
|
|
17
|
+
export class StarknetId {
|
|
18
|
+
async getStarkName(address, StarknetIdContract) {
|
|
19
|
+
return StarknetId.getStarkName(
|
|
20
|
+
// After Mixin, this is ProviderInterface
|
|
21
|
+
this,
|
|
22
|
+
address,
|
|
23
|
+
StarknetIdContract
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
async getAddressFromStarkName(name, StarknetIdContract) {
|
|
27
|
+
return StarknetId.getAddressFromStarkName(
|
|
28
|
+
// After Mixin, this is ProviderInterface
|
|
29
|
+
this,
|
|
30
|
+
name,
|
|
31
|
+
StarknetIdContract
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
async getStarkProfile(address, StarknetIdContract, StarknetIdIdentityContract, StarknetIdVerifierContract, StarknetIdPfpContract, StarknetIdPopContract, StarknetIdMulticallContract) {
|
|
35
|
+
return StarknetId.getStarkProfile(
|
|
36
|
+
// After Mixin, this is ProviderInterface
|
|
37
|
+
this,
|
|
38
|
+
address,
|
|
39
|
+
StarknetIdContract,
|
|
40
|
+
StarknetIdIdentityContract,
|
|
41
|
+
StarknetIdVerifierContract,
|
|
42
|
+
StarknetIdPfpContract,
|
|
43
|
+
StarknetIdPopContract,
|
|
44
|
+
StarknetIdMulticallContract
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
static async getStarkName(provider, address, StarknetIdContract) {
|
|
48
|
+
const chainId = await provider.getChainId();
|
|
49
|
+
const contract = StarknetIdContract ?? getStarknetIdContract(chainId);
|
|
50
|
+
try {
|
|
51
|
+
const hexDomain = await provider.callContract({
|
|
52
|
+
contractAddress: contract,
|
|
53
|
+
entrypoint: "address_to_domain",
|
|
54
|
+
calldata: CallData.compile({
|
|
55
|
+
address,
|
|
56
|
+
hint: []
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
const decimalDomain = hexDomain.map((element) => BigInt(element)).slice(1);
|
|
60
|
+
const stringDomain = useDecoded(decimalDomain);
|
|
61
|
+
if (!stringDomain) {
|
|
62
|
+
throw Error("Starkname not found");
|
|
63
|
+
}
|
|
64
|
+
return stringDomain;
|
|
65
|
+
} catch (e) {
|
|
66
|
+
if (e instanceof Error && e.message === "Starkname not found") {
|
|
67
|
+
throw e;
|
|
68
|
+
}
|
|
69
|
+
throw Error("Could not get stark name");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static async getAddressFromStarkName(provider, name, StarknetIdContract) {
|
|
73
|
+
const chainId = await provider.getChainId();
|
|
74
|
+
const contract = StarknetIdContract ?? getStarknetIdContract(chainId);
|
|
75
|
+
try {
|
|
76
|
+
const encodedDomain = name.replace(".stark", "").split(".").map((part) => useEncoded(part).toString(10));
|
|
77
|
+
const addressData = await provider.callContract({
|
|
78
|
+
contractAddress: contract,
|
|
79
|
+
entrypoint: "domain_to_address",
|
|
80
|
+
calldata: CallData.compile({ domain: encodedDomain, hint: [] })
|
|
81
|
+
});
|
|
82
|
+
return addressData[0];
|
|
83
|
+
} catch {
|
|
84
|
+
throw Error("Could not get address from stark name");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
static async getStarkProfile(provider, address, StarknetIdContract, StarknetIdIdentityContract, StarknetIdVerifierContract, StarknetIdPfpContract, StarknetIdPopContract, StarknetIdMulticallContract) {
|
|
88
|
+
const chainId = await provider.getChainId();
|
|
89
|
+
const contract = StarknetIdContract ?? getStarknetIdContract(chainId);
|
|
90
|
+
const identityContract = StarknetIdIdentityContract ?? getStarknetIdIdentityContract(chainId);
|
|
91
|
+
const verifierContract = StarknetIdVerifierContract ?? getStarknetIdVerifierContract(chainId);
|
|
92
|
+
const pfpContract = StarknetIdPfpContract ?? getStarknetIdPfpContract(chainId);
|
|
93
|
+
const popContract = StarknetIdPopContract ?? getStarknetIdPopContract(chainId);
|
|
94
|
+
const multicallAddress = StarknetIdMulticallContract ?? getStarknetIdMulticallContract(chainId);
|
|
95
|
+
try {
|
|
96
|
+
const calls = [
|
|
97
|
+
{
|
|
98
|
+
execution: execution({}),
|
|
99
|
+
to: dynamicCallData(contract),
|
|
100
|
+
selector: dynamicCallData(getSelectorFromName("address_to_domain")),
|
|
101
|
+
calldata: [dynamicCallData(address), dynamicCallData("0")]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
execution: execution({}),
|
|
105
|
+
to: dynamicFelt(contract),
|
|
106
|
+
selector: dynamicFelt(getSelectorFromName("domain_to_id")),
|
|
107
|
+
calldata: [dynamicCallData(void 0, void 0, [0, 0])]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
execution: execution({}),
|
|
111
|
+
to: dynamicFelt(identityContract),
|
|
112
|
+
selector: dynamicFelt(getSelectorFromName("get_verifier_data")),
|
|
113
|
+
calldata: [
|
|
114
|
+
dynamicCallData(void 0, [1, 0]),
|
|
115
|
+
dynamicCallData(encodeShortString("twitter")),
|
|
116
|
+
dynamicCallData(verifierContract),
|
|
117
|
+
dynamicCallData("0")
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
execution: execution({}),
|
|
122
|
+
to: dynamicFelt(identityContract),
|
|
123
|
+
selector: dynamicFelt(getSelectorFromName("get_verifier_data")),
|
|
124
|
+
calldata: [
|
|
125
|
+
dynamicCallData(void 0, [1, 0]),
|
|
126
|
+
dynamicCallData(encodeShortString("github")),
|
|
127
|
+
dynamicCallData(verifierContract),
|
|
128
|
+
dynamicCallData("0")
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
execution: execution({}),
|
|
133
|
+
to: dynamicFelt(identityContract),
|
|
134
|
+
selector: dynamicFelt(getSelectorFromName("get_verifier_data")),
|
|
135
|
+
calldata: [
|
|
136
|
+
dynamicCallData(void 0, [1, 0]),
|
|
137
|
+
dynamicCallData(encodeShortString("discord")),
|
|
138
|
+
dynamicCallData(verifierContract),
|
|
139
|
+
dynamicCallData("0")
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
execution: execution({}),
|
|
144
|
+
to: dynamicFelt(identityContract),
|
|
145
|
+
selector: dynamicFelt(getSelectorFromName("get_verifier_data")),
|
|
146
|
+
calldata: [
|
|
147
|
+
dynamicCallData(void 0, [1, 0]),
|
|
148
|
+
dynamicCallData(encodeShortString("proof_of_personhood")),
|
|
149
|
+
dynamicCallData(popContract),
|
|
150
|
+
dynamicCallData("0")
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
// PFP
|
|
154
|
+
{
|
|
155
|
+
execution: execution({}),
|
|
156
|
+
to: dynamicFelt(identityContract),
|
|
157
|
+
selector: dynamicFelt(getSelectorFromName("get_verifier_data")),
|
|
158
|
+
calldata: [
|
|
159
|
+
dynamicCallData(void 0, [1, 0]),
|
|
160
|
+
dynamicCallData(encodeShortString("nft_pp_contract")),
|
|
161
|
+
dynamicCallData(pfpContract),
|
|
162
|
+
dynamicCallData("0")
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
execution: execution({}),
|
|
167
|
+
to: dynamicFelt(identityContract),
|
|
168
|
+
selector: dynamicFelt(getSelectorFromName("get_extended_verifier_data")),
|
|
169
|
+
calldata: [
|
|
170
|
+
dynamicCallData(void 0, [1, 0]),
|
|
171
|
+
dynamicCallData(encodeShortString("nft_pp_id")),
|
|
172
|
+
dynamicCallData("2"),
|
|
173
|
+
dynamicCallData(pfpContract),
|
|
174
|
+
dynamicCallData("0")
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
execution: execution(void 0, void 0, [6, 0, 0]),
|
|
179
|
+
to: dynamicFelt(void 0, [6, 0]),
|
|
180
|
+
selector: dynamicFelt(getSelectorFromName("tokenURI")),
|
|
181
|
+
calldata: [dynamicCallData(void 0, [7, 1]), dynamicCallData(void 0, [7, 2])]
|
|
182
|
+
}
|
|
183
|
+
];
|
|
184
|
+
const data = await provider.callContract({
|
|
185
|
+
contractAddress: multicallAddress,
|
|
186
|
+
entrypoint: "aggregate",
|
|
187
|
+
calldata: CallData.compile({
|
|
188
|
+
calls
|
|
189
|
+
})
|
|
190
|
+
});
|
|
191
|
+
if (Array.isArray(data)) {
|
|
192
|
+
const size = parseInt(data[0], 16);
|
|
193
|
+
const finalArray = [];
|
|
194
|
+
let index = 1;
|
|
195
|
+
for (let i = 0; i < size; i += 1) {
|
|
196
|
+
if (index < data.length) {
|
|
197
|
+
const subArraySize = parseInt(data[index], 16);
|
|
198
|
+
index += 1;
|
|
199
|
+
const subArray = data.slice(index, index + subArraySize);
|
|
200
|
+
finalArray.push(subArray);
|
|
201
|
+
index += subArraySize;
|
|
202
|
+
} else {
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
const name = useDecoded(finalArray[0].slice(1).map((hexString) => BigInt(hexString)));
|
|
207
|
+
const twitter = finalArray[2][0] !== "0x0" ? BigInt(finalArray[2][0]).toString() : void 0;
|
|
208
|
+
const github = finalArray[3][0] !== "0x0" ? BigInt(finalArray[3][0]).toString() : void 0;
|
|
209
|
+
const discord = finalArray[4][0] !== "0x0" ? BigInt(finalArray[4][0]).toString() : void 0;
|
|
210
|
+
const proofOfPersonhood = finalArray[5][0] === "0x1";
|
|
211
|
+
const profilePictureMetadata = data[0] === "0x9" ? finalArray[8].slice(1).map((val) => decodeShortString(val)).join("") : void 0;
|
|
212
|
+
const profilePicture = profilePictureMetadata || `https://starknet.id/api/identicons/${BigInt(finalArray[1][0]).toString()}`;
|
|
213
|
+
return {
|
|
214
|
+
name,
|
|
215
|
+
twitter,
|
|
216
|
+
github,
|
|
217
|
+
discord,
|
|
218
|
+
proofOfPersonhood,
|
|
219
|
+
profilePicture
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
throw Error("Error while calling aggregate function");
|
|
223
|
+
} catch (e) {
|
|
224
|
+
if (e instanceof Error) {
|
|
225
|
+
throw e;
|
|
226
|
+
}
|
|
227
|
+
throw Error("Could not get user stark profile data from address");
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
defaultProvider: true,
|
|
8
|
+
Provider: true
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "Provider", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _default.RpcProvider;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
exports.defaultProvider = void 0;
|
|
17
|
+
var _rpc = require("./rpc.cjs");
|
|
18
|
+
var _default = require("./extensions/default.cjs");
|
|
19
|
+
Object.keys(_default).forEach(function (key) {
|
|
20
|
+
if (key === "default" || key === "__esModule") return;
|
|
21
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
22
|
+
if (key in exports && exports[key] === _default[key]) return;
|
|
23
|
+
Object.defineProperty(exports, key, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return _default[key];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
var _errors = require("./errors.cjs");
|
|
31
|
+
Object.keys(_errors).forEach(function (key) {
|
|
32
|
+
if (key === "default" || key === "__esModule") return;
|
|
33
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
34
|
+
if (key in exports && exports[key] === _errors[key]) return;
|
|
35
|
+
Object.defineProperty(exports, key, {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () {
|
|
38
|
+
return _errors[key];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
var _interface = require("./interface.cjs");
|
|
43
|
+
Object.keys(_interface).forEach(function (key) {
|
|
44
|
+
if (key === "default" || key === "__esModule") return;
|
|
45
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
46
|
+
if (key in exports && exports[key] === _interface[key]) return;
|
|
47
|
+
Object.defineProperty(exports, key, {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () {
|
|
50
|
+
return _interface[key];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
const defaultProvider = exports.defaultProvider = new _rpc.RpcProvider({
|
|
55
|
+
default: true
|
|
56
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RpcProvider } from "./rpc.mjs";
|
|
2
|
+
export { RpcProvider as Provider } from "./extensions/default.mjs";
|
|
3
|
+
export * from "./errors.mjs";
|
|
4
|
+
export * from "./interface.mjs";
|
|
5
|
+
export * from "./extensions/default.mjs";
|
|
6
|
+
export const defaultProvider = new RpcProvider({ default: true });
|