thirdweb 5.56.0-nightly-07b949dd8c07ffdeda40a5549c31ad4b09abbbf1-20240916000437 → 5.56.0-nightly-a5e605c65e360a9d3d2e553d6783e58582b50a70-20240917000331
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/cjs/contract/deployment/publisher.js +4 -4
- package/dist/cjs/contract/deployment/publisher.js.map +1 -1
- package/dist/cjs/exports/extensions/thirdweb.js +4 -3
- package/dist/cjs/exports/extensions/thirdweb.js.map +1 -1
- package/dist/cjs/exports/modules.js +4 -1
- package/dist/cjs/exports/modules.js.map +1 -1
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js +95 -0
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js.map +1 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js +106 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -0
- package/dist/cjs/utils/arrays.js +23 -0
- package/dist/cjs/utils/arrays.js.map +1 -0
- package/dist/cjs/utils/semver.js +67 -0
- package/dist/cjs/utils/semver.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/esm/contract/deployment/publisher.js +1 -1
- package/dist/esm/contract/deployment/publisher.js.map +1 -1
- package/dist/esm/exports/extensions/thirdweb.js +1 -1
- package/dist/esm/exports/extensions/thirdweb.js.map +1 -1
- package/dist/esm/exports/modules.js +2 -1
- package/dist/esm/exports/modules.js.map +1 -1
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js +93 -0
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js.map +1 -0
- package/dist/esm/extensions/thirdweb/write/publish.js +102 -0
- package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -0
- package/dist/esm/utils/arrays.js +20 -0
- package/dist/esm/utils/arrays.js.map +1 -0
- package/dist/esm/utils/semver.js +62 -0
- package/dist/esm/utils/semver.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/contract/deployment/publisher.d.ts +1 -0
- package/dist/types/contract/deployment/publisher.d.ts.map +1 -1
- package/dist/types/exports/extensions/thirdweb.d.ts +1 -1
- package/dist/types/exports/extensions/thirdweb.d.ts.map +1 -1
- package/dist/types/exports/modules.d.ts +2 -1
- package/dist/types/exports/modules.d.ts.map +1 -1
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts +9 -0
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts.map +1 -0
- package/dist/types/extensions/thirdweb/write/publish.d.ts +29 -0
- package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -0
- package/dist/types/utils/any-evm/deploy-metadata.d.ts +18 -1
- package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
- package/dist/types/utils/arrays.d.ts +5 -0
- package/dist/types/utils/arrays.d.ts.map +1 -0
- package/dist/types/utils/semver.d.ts +25 -0
- package/dist/types/utils/semver.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +23 -23
- package/src/contract/deployment/publisher.ts +2 -1
- package/src/exports/extensions/thirdweb.ts +6 -4
- package/src/exports/modules.ts +5 -1
- package/src/extensions/erc721/lazyMinting/write/createAndReveal.test.ts +1 -1
- package/src/extensions/modules/MintableERC1155/mintableERC1155.test.ts +1 -1
- package/src/extensions/modules/MintableERC20/mintableERC20.test.ts +1 -1
- package/src/extensions/modules/MintableERC721/mintableERC721.test.ts +1 -1
- package/src/extensions/modules/common/checkModulesCompatibility.test.ts +46 -0
- package/src/extensions/modules/common/checkModulesCompatibility.ts +123 -0
- package/src/extensions/thirdweb/write/publish.test.ts +162 -0
- package/src/extensions/thirdweb/write/publish.ts +131 -0
- package/src/utils/any-evm/deploy-metadata.ts +18 -4
- package/src/utils/arrays.ts +23 -0
- package/src/utils/semver.ts +76 -0
- package/src/version.ts +1 -1
@@ -75,7 +75,7 @@ async function fetchAndParseCompilerMetadata(
|
|
75
75
|
|
76
76
|
// types
|
77
77
|
|
78
|
-
type RawCompilerMetadata = {
|
78
|
+
export type RawCompilerMetadata = {
|
79
79
|
name: string;
|
80
80
|
metadataUri: string;
|
81
81
|
bytecodeUri: string;
|
@@ -130,9 +130,10 @@ type ParsedCompilerMetadata = {
|
|
130
130
|
};
|
131
131
|
|
132
132
|
export type CompilerMetadata = Prettify<
|
133
|
-
|
134
|
-
|
135
|
-
|
133
|
+
RawCompilerMetadata &
|
134
|
+
ParsedCompilerMetadata & {
|
135
|
+
bytecode: Hex;
|
136
|
+
}
|
136
137
|
>;
|
137
138
|
|
138
139
|
export type ExtendedMetadata = {
|
@@ -195,5 +196,18 @@ export type ExtendedMetadata = {
|
|
195
196
|
}
|
196
197
|
>;
|
197
198
|
compositeAbi?: Abi;
|
199
|
+
compilers?: Record<
|
200
|
+
"solc" | "zksolc",
|
201
|
+
{
|
202
|
+
evmVersion: string;
|
203
|
+
compilerVersion: string;
|
204
|
+
metadataUri: string;
|
205
|
+
bytecodeUri: string;
|
206
|
+
}[]
|
207
|
+
>;
|
208
|
+
externalLinks?: Array<{
|
209
|
+
name: string;
|
210
|
+
url: string;
|
211
|
+
}>;
|
198
212
|
[key: string]: unknown;
|
199
213
|
};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* @internal
|
3
|
+
*/
|
4
|
+
export function hasDuplicates<T>(
|
5
|
+
arr: T[],
|
6
|
+
fn: (a: T | undefined, b: T | undefined) => boolean,
|
7
|
+
): boolean {
|
8
|
+
if (arr.length === 0 || arr.length === 1) {
|
9
|
+
return false;
|
10
|
+
}
|
11
|
+
if (!fn) {
|
12
|
+
throw new Error("Comparison function required");
|
13
|
+
}
|
14
|
+
|
15
|
+
for (let i = 0; i < arr.length; i++) {
|
16
|
+
for (let j = i + 1; j < arr.length; j++) {
|
17
|
+
if (fn(arr[i], arr[j])) {
|
18
|
+
return true;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
return false;
|
23
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
const MAX_LENGTH = 256;
|
2
|
+
const NUMERIC_IDENTIFIER = "0|[1-9]\\d*";
|
3
|
+
const MAIN_VERSION_IDENTIFIER = `(${NUMERIC_IDENTIFIER})\\.(${NUMERIC_IDENTIFIER})\\.(${NUMERIC_IDENTIFIER})`;
|
4
|
+
const REGEX_MAIN_VERSION = new RegExp(MAIN_VERSION_IDENTIFIER);
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export type Semver = {
|
10
|
+
major: number;
|
11
|
+
minor: number;
|
12
|
+
patch: number;
|
13
|
+
versionString: string;
|
14
|
+
};
|
15
|
+
|
16
|
+
/**
|
17
|
+
* @internal
|
18
|
+
* @param version - The version to convert to a Semver
|
19
|
+
*/
|
20
|
+
export function toSemver(version: string): Semver {
|
21
|
+
if (version.length > MAX_LENGTH) {
|
22
|
+
throw new Error(`version is longer than ${MAX_LENGTH} characters`);
|
23
|
+
}
|
24
|
+
const matches = version.trim().match(REGEX_MAIN_VERSION);
|
25
|
+
if (!matches || matches?.length !== 4) {
|
26
|
+
throw new Error(
|
27
|
+
`${version} is not a valid semantic version. Should be in the format of major.minor.patch. Ex: 0.4.1`,
|
28
|
+
);
|
29
|
+
}
|
30
|
+
const major = Number(matches[1]);
|
31
|
+
const minor = Number(matches[2]);
|
32
|
+
const patch = Number(matches[3]);
|
33
|
+
const versionString = [major, minor, patch].join(".");
|
34
|
+
return {
|
35
|
+
major,
|
36
|
+
minor,
|
37
|
+
patch,
|
38
|
+
versionString,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* @internal
|
44
|
+
* @param current - The current version
|
45
|
+
* @param next - The next version
|
46
|
+
*/
|
47
|
+
export function isIncrementalVersion(current: string, next: string) {
|
48
|
+
const currentSemver = toSemver(current);
|
49
|
+
const nextSemver = toSemver(next);
|
50
|
+
if (nextSemver.major > currentSemver.major) {
|
51
|
+
return true;
|
52
|
+
}
|
53
|
+
const eqMajor = nextSemver.major === currentSemver.major;
|
54
|
+
if (eqMajor && nextSemver.minor > currentSemver.minor) {
|
55
|
+
return true;
|
56
|
+
}
|
57
|
+
const eqMinor = nextSemver.minor === currentSemver.minor;
|
58
|
+
return eqMajor && eqMinor && nextSemver.patch > currentSemver.patch;
|
59
|
+
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* @internal
|
63
|
+
*/
|
64
|
+
export function isDowngradeVersion(current: string, next: string) {
|
65
|
+
const currentSemver = toSemver(current);
|
66
|
+
const nextSemver = toSemver(next);
|
67
|
+
if (nextSemver.major < currentSemver.major) {
|
68
|
+
return true;
|
69
|
+
}
|
70
|
+
const eqMajor = nextSemver.major === currentSemver.major;
|
71
|
+
if (eqMajor && nextSemver.minor < currentSemver.minor) {
|
72
|
+
return true;
|
73
|
+
}
|
74
|
+
const eqMinor = nextSemver.minor === currentSemver.minor;
|
75
|
+
return eqMajor && eqMinor && nextSemver.patch < currentSemver.patch;
|
76
|
+
}
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.56.0-nightly-
|
1
|
+
export const version = "5.56.0-nightly-a5e605c65e360a9d3d2e553d6783e58582b50a70-20240917000331";
|