@medialane/sdk 0.114.0 → 0.115.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/starknet/index.cjs
CHANGED
|
@@ -11969,8 +11969,73 @@ function signWithPrivateKey(privateKeyHex, msgHash) {
|
|
|
11969
11969
|
return [starknet.num.toHex(sig.r), starknet.num.toHex(sig.s)];
|
|
11970
11970
|
}
|
|
11971
11971
|
|
|
11972
|
+
// src/starknet/app-approval/approval.ts
|
|
11973
|
+
var MEDIALANE_SUFFIX = ".medialane.io";
|
|
11974
|
+
var STARK_ORDER2 = (1n << 251n) + 17n * (1n << 192n) + 1n;
|
|
11975
|
+
var APPROVAL_PATH = "/approve-app";
|
|
11976
|
+
var InvalidApprovalRequestError = class extends Error {
|
|
11977
|
+
constructor(message) {
|
|
11978
|
+
super(message);
|
|
11979
|
+
this.name = "InvalidApprovalRequestError";
|
|
11980
|
+
}
|
|
11981
|
+
};
|
|
11982
|
+
function isMedialaneOrigin(url) {
|
|
11983
|
+
let parsed;
|
|
11984
|
+
try {
|
|
11985
|
+
parsed = new URL(url);
|
|
11986
|
+
} catch {
|
|
11987
|
+
return false;
|
|
11988
|
+
}
|
|
11989
|
+
if (parsed.protocol !== "https:") return parsed.hostname === "localhost";
|
|
11990
|
+
return parsed.hostname === "medialane.io" || parsed.hostname.endsWith(MEDIALANE_SUFFIX);
|
|
11991
|
+
}
|
|
11992
|
+
function assertPublicKey(value) {
|
|
11993
|
+
if (!/^0x[0-9a-fA-F]{1,64}$/.test(value)) {
|
|
11994
|
+
throw new InvalidApprovalRequestError("That is not a wallet key.");
|
|
11995
|
+
}
|
|
11996
|
+
const scalar = BigInt(value);
|
|
11997
|
+
if (scalar === 0n || scalar >= STARK_ORDER2) {
|
|
11998
|
+
throw new InvalidApprovalRequestError("That is not a wallet key.");
|
|
11999
|
+
}
|
|
12000
|
+
return `0x${scalar.toString(16)}`;
|
|
12001
|
+
}
|
|
12002
|
+
function assertAppName(value) {
|
|
12003
|
+
const name = value.replace(/\s+/g, " ").trim().slice(0, 40);
|
|
12004
|
+
if (!name) throw new InvalidApprovalRequestError("The app asking has no name.");
|
|
12005
|
+
return name;
|
|
12006
|
+
}
|
|
12007
|
+
function assertReturnUrl(value) {
|
|
12008
|
+
if (!isMedialaneOrigin(value)) {
|
|
12009
|
+
throw new InvalidApprovalRequestError("That app is not part of Medialane.");
|
|
12010
|
+
}
|
|
12011
|
+
return value;
|
|
12012
|
+
}
|
|
12013
|
+
function buildApprovalUrl(approverOrigin, request) {
|
|
12014
|
+
if (!isMedialaneOrigin(approverOrigin)) {
|
|
12015
|
+
throw new InvalidApprovalRequestError("That app is not part of Medialane.");
|
|
12016
|
+
}
|
|
12017
|
+
const url = new URL(APPROVAL_PATH, approverOrigin);
|
|
12018
|
+
url.searchParams.set("key", assertPublicKey(request.publicKey));
|
|
12019
|
+
url.searchParams.set("app", assertAppName(request.appName));
|
|
12020
|
+
url.searchParams.set("return", assertReturnUrl(request.returnUrl));
|
|
12021
|
+
return url.toString();
|
|
12022
|
+
}
|
|
12023
|
+
function parseApprovalRequest(params) {
|
|
12024
|
+
return {
|
|
12025
|
+
publicKey: assertPublicKey(params.get("key") ?? ""),
|
|
12026
|
+
appName: assertAppName(params.get("app") ?? ""),
|
|
12027
|
+
returnUrl: assertReturnUrl(params.get("return") ?? "")
|
|
12028
|
+
};
|
|
12029
|
+
}
|
|
12030
|
+
function buildReturnUrl(returnUrl, outcome) {
|
|
12031
|
+
const url = new URL(assertReturnUrl(returnUrl));
|
|
12032
|
+
url.searchParams.set("approval", outcome);
|
|
12033
|
+
return url.toString();
|
|
12034
|
+
}
|
|
12035
|
+
|
|
11972
12036
|
exports.ADMIN_HEADERS = ADMIN_HEADERS;
|
|
11973
12037
|
exports.ADMIN_SCOPE = ADMIN_SCOPE;
|
|
12038
|
+
exports.APPROVAL_PATH = APPROVAL_PATH;
|
|
11974
12039
|
exports.COIN_MAX_SUPPLY = MAX_SUPPLY;
|
|
11975
12040
|
exports.COIN_MIN_SUPPLY = MIN_SUPPLY;
|
|
11976
12041
|
exports.ClubService = ClubService;
|
|
@@ -11991,6 +12056,7 @@ exports.IPNftABI = IPNftABI;
|
|
|
11991
12056
|
exports.IPSponsorshipABI = IPSponsorshipABI;
|
|
11992
12057
|
exports.IPTicketCollectionABI = IPTicketCollectionABI;
|
|
11993
12058
|
exports.IPTicketCollectionFactoryABI = IPTicketCollectionFactoryABI;
|
|
12059
|
+
exports.InvalidApprovalRequestError = InvalidApprovalRequestError;
|
|
11994
12060
|
exports.InvalidStarkPrivateKeyError = InvalidStarkPrivateKeyError;
|
|
11995
12061
|
exports.MAX_HOLDERS_AT_LAUNCH = MAX_HOLDERS_AT_LAUNCH;
|
|
11996
12062
|
exports.MAX_TEAM_ALLOCATION_PERCENT = MAX_TEAM_ALLOCATION_PERCENT;
|
|
@@ -12012,6 +12078,7 @@ exports.build1155CancellationTypedData = build1155CancellationTypedData;
|
|
|
12012
12078
|
exports.build1155OrderTypedData = build1155OrderTypedData;
|
|
12013
12079
|
exports.buildAddOwnerCall = buildAddOwnerCall;
|
|
12014
12080
|
exports.buildAdminSessionTypedData = buildAdminSessionTypedData;
|
|
12081
|
+
exports.buildApprovalUrl = buildApprovalUrl;
|
|
12015
12082
|
exports.buildCancelEscapeCall = buildCancelEscapeCall;
|
|
12016
12083
|
exports.buildCancellationTypedData = buildCancellationTypedData;
|
|
12017
12084
|
exports.buildChangeOwnersCall = buildChangeOwnersCall;
|
|
@@ -12023,6 +12090,7 @@ exports.buildLaunchOnEkuboCalls = buildLaunchOnEkuboCalls;
|
|
|
12023
12090
|
exports.buildOrderTypedData = buildOrderTypedData;
|
|
12024
12091
|
exports.buildRemoveOwnerByGuidCall = buildRemoveOwnerByGuidCall;
|
|
12025
12092
|
exports.buildRemoveOwnerCall = buildRemoveOwnerCall;
|
|
12093
|
+
exports.buildReturnUrl = buildReturnUrl;
|
|
12026
12094
|
exports.buildSetFirstGuardianCall = buildSetFirstGuardianCall;
|
|
12027
12095
|
exports.buildTriggerEscapeOwnerCall = buildTriggerEscapeOwnerCall;
|
|
12028
12096
|
exports.buybackQuoteRaw = buybackQuoteRaw;
|
|
@@ -12054,11 +12122,13 @@ exports.getOrderDetails1155 = getOrderDetails1155;
|
|
|
12054
12122
|
exports.getOwners = getOwners;
|
|
12055
12123
|
exports.getSiwsStorageKey = getSiwsStorageKey;
|
|
12056
12124
|
exports.getStoredSiwsToken = getStoredSiwsToken;
|
|
12125
|
+
exports.isMedialaneOrigin = isMedialaneOrigin;
|
|
12057
12126
|
exports.isSiwsTokenValid = isSiwsTokenValid;
|
|
12058
12127
|
exports.normalizeSiwsSignature = normalizeSiwsSignature;
|
|
12059
12128
|
exports.ownerAliveTypedData = ownerAliveTypedData;
|
|
12060
12129
|
exports.ownerConstructorCalldata = ownerConstructorCalldata;
|
|
12061
12130
|
exports.parseAdminHeaders = parseAdminHeaders;
|
|
12131
|
+
exports.parseApprovalRequest = parseApprovalRequest;
|
|
12062
12132
|
exports.parseCreatorCoinCreated = parseCreatorCoinCreated;
|
|
12063
12133
|
exports.priceToEkuboParams = priceToEkuboParams;
|
|
12064
12134
|
exports.randomNonce = randomNonce;
|