@zoralabs/protocol-sdk 0.11.4 → 0.11.6-COMMENTS.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/.turbo/turbo-build.log +7 -7
- package/CHANGELOG.md +32 -0
- package/dist/create/mint-from-create.d.ts +2 -1
- package/dist/create/mint-from-create.d.ts.map +1 -1
- package/dist/create/minter-defaults.d.ts.map +1 -1
- package/dist/create/types.d.ts +1 -0
- package/dist/create/types.d.ts.map +1 -1
- package/dist/index.cjs +235 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +239 -58
- package/dist/index.js.map +1 -1
- package/dist/mint/mint-client.d.ts +3 -1
- package/dist/mint/mint-client.d.ts.map +1 -1
- package/dist/mint/mint-queries.d.ts +5 -3
- package/dist/mint/mint-queries.d.ts.map +1 -1
- package/dist/mint/mint-transactions.d.ts +4 -2
- package/dist/mint/mint-transactions.d.ts.map +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/secondary/secondary-client.d.ts +4 -3
- package/dist/secondary/secondary-client.d.ts.map +1 -1
- package/dist/secondary/types.d.ts +7 -0
- package/dist/secondary/types.d.ts.map +1 -1
- package/dist/secondary/utils.d.ts.map +1 -1
- package/dist/test-utils.d.ts +3 -1
- package/dist/test-utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/comments/comments.test.ts +342 -0
- package/src/create/1155-create-helper.test.ts +77 -14
- package/src/create/1155-create-helper.ts +2 -0
- package/src/create/mint-from-create.ts +3 -0
- package/src/create/minter-defaults.ts +22 -8
- package/src/create/types.ts +5 -3
- package/src/mint/mint-client.test.ts +67 -30
- package/src/mint/mint-client.ts +10 -1
- package/src/mint/mint-queries.ts +16 -5
- package/src/mint/mint-transactions.ts +80 -16
- package/src/sdk.ts +1 -0
- package/src/secondary/secondary-client.test.ts +149 -25
- package/src/secondary/secondary-client.ts +138 -7
- package/src/secondary/types.ts +19 -4
- package/src/secondary/utils.ts +30 -10
- package/src/sparks/sparks-sponsored-sparks-spender.test.ts +1 -1
- package/src/test-utils.ts +12 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @zoralabs/protocol-sdk@0.11.
|
|
2
|
+
> @zoralabs/protocol-sdk@0.11.6-COMMENTS.0 build /home/runner/work/zora-protocol-private/zora-protocol-private/packages/protocol-sdk
|
|
3
3
|
> pnpm tsup
|
|
4
4
|
|
|
5
5
|
CLI Building entry: src/index.ts
|
|
@@ -10,9 +10,9 @@ CLI Target: es2021
|
|
|
10
10
|
CLI Cleaning output folder
|
|
11
11
|
CJS Build start
|
|
12
12
|
ESM Build start
|
|
13
|
-
CJS dist/index.cjs
|
|
14
|
-
CJS dist/index.cjs.map
|
|
15
|
-
CJS ⚡️ Build success in
|
|
16
|
-
ESM dist/index.js
|
|
17
|
-
ESM dist/index.js.map
|
|
18
|
-
ESM ⚡️ Build success in
|
|
13
|
+
CJS dist/index.cjs 228.29 KB
|
|
14
|
+
CJS dist/index.cjs.map 462.51 KB
|
|
15
|
+
CJS ⚡️ Build success in 392ms
|
|
16
|
+
ESM dist/index.js 222.00 KB
|
|
17
|
+
ESM dist/index.js.map 460.67 KB
|
|
18
|
+
ESM ⚡️ Build success in 399ms
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @zoralabs/protocol-sdk
|
|
2
2
|
|
|
3
|
+
## 0.11.6-COMMENTS.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9d5d1638: When minting + commenting, and using the timed sale strategy, protocol sdk will call the CallerAndCommenter contract
|
|
8
|
+
- 088ec6fb: When buying on secondary, you can now add a comment, which will call the CallerAndCommenter's buyOnSecondaryAndComment
|
|
9
|
+
- Updated dependencies [4928687d]
|
|
10
|
+
- Updated dependencies [c6e1c1bc]
|
|
11
|
+
- Updated dependencies [7e285fb1]
|
|
12
|
+
- Updated dependencies [17cc9821]
|
|
13
|
+
- Updated dependencies [a141e322]
|
|
14
|
+
- @zoralabs/protocol-deployments@0.3.8-COMMENTS.0
|
|
15
|
+
|
|
16
|
+
## 0.11.5
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 85d09fa5: - Adds new fields to `SecondaryInfo` type to expose more information about the secondary market configuration:
|
|
21
|
+
|
|
22
|
+
- `name`: The ERC20Z token name
|
|
23
|
+
- `symbol`: The ERC20Z token symbol
|
|
24
|
+
- `saleStart`: Earliest time tokens can be minted
|
|
25
|
+
- `marketCountdown`: Time after minimum mints reached until secondary market launches
|
|
26
|
+
- `minimumMintsForCountdown`: Minimum mints required to start countdown
|
|
27
|
+
- `mintCount`: Total number of tokens minted so far
|
|
28
|
+
- Deprecates `minimumMarketEth` parameter in favor of `minimumMintsForCountdown` when creating tokens:
|
|
29
|
+
- `minimumMintsForCountdown` directly specifies minimum number of mints (defaults to `1111`)
|
|
30
|
+
- `minimumMarketEth` is still supported but calculated internally as `minimumMintsForCountdown * 0.0000111 ETH`
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [c08ec3b3]
|
|
33
|
+
- @zoralabs/protocol-deployments@0.3.7
|
|
34
|
+
|
|
3
35
|
## 0.11.4
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Address } from "viem";
|
|
2
2
|
import { ConcreteSalesConfig } from "./types";
|
|
3
3
|
import { AsyncPrepareMint } from "src/mint/types";
|
|
4
|
-
export declare function makeOnchainPrepareMintFromCreate({ contractAddress, tokenId, result, minter, getContractMintFee, contractVersion, }: {
|
|
4
|
+
export declare function makeOnchainPrepareMintFromCreate({ contractAddress, tokenId, result, minter, getContractMintFee, contractVersion, chainId, }: {
|
|
5
5
|
contractAddress: Address;
|
|
6
6
|
tokenId: bigint;
|
|
7
7
|
result: ConcreteSalesConfig;
|
|
8
8
|
minter: Address;
|
|
9
9
|
getContractMintFee: () => Promise<bigint>;
|
|
10
10
|
contractVersion: string;
|
|
11
|
+
chainId: number;
|
|
11
12
|
}): AsyncPrepareMint;
|
|
12
13
|
//# sourceMappingURL=mint-from-create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mint-from-create.d.ts","sourceRoot":"","sources":["../../src/create/mint-from-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AA+DxB,wBAAgB,gCAAgC,CAAC,EAC/C,eAAe,EACf,OAAO,EACP,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"mint-from-create.d.ts","sourceRoot":"","sources":["../../src/create/mint-from-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AA+DxB,wBAAgB,gCAAgC,CAAC,EAC/C,eAAe,EACf,OAAO,EACP,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,eAAe,EACf,OAAO,GACR,EAAE;IACD,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,gBAAgB,CA0BnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minter-defaults.d.ts","sourceRoot":"","sources":["../../src/create/minter-defaults.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAMrB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,0BAA0B,QAA0B,CAAC;AAElE,eAAO,MAAM,wBAAwB,QAAuB,CAAC;AAG7D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAuCtD,eAAO,MAAM,mBAAmB,SAAU,MAAM,WAsB/C,CAAC;
|
|
1
|
+
{"version":3,"file":"minter-defaults.d.ts","sourceRoot":"","sources":["../../src/create/minter-defaults.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAMrB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,0BAA0B,QAA0B,CAAC;AAElE,eAAO,MAAM,wBAAwB,QAAuB,CAAC;AAG7D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAuCtD,eAAO,MAAM,mBAAmB,SAAU,MAAM,WAsB/C,CAAC;AAoDF,eAAO,MAAM,0BAA0B,gBACxB,qBAAqB,GAAG,SAAS,gBAChC,MAAM,KACnB,mBAaF,CAAC"}
|
package/dist/create/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAChD,mBAAmB,GAAG;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAChD,mBAAmB,GAAG;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,mBAAmB,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,IAAI,EAAE,eAAe,CAAC;IAEtB,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,EAAE,CAAC;IACjE,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,uBAAuB,GAAG;IAClE,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG;IAC/D,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,CAAC,oBAAoB,CAAC,GAC9B,QAAQ,CAAC,eAAe,CAAC,GACzB,QAAQ,CAAC,kBAAkB,CAAC,GAC5B,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,0BAA0B,CACpC,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,OAAO,GAAG,OAAO,CAClB,CAAC;IACF,iBAAiB,EAAE,GAAG,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,wBAAwB,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -3773,7 +3773,8 @@ var contractSupportsNewMintFunction = (contractVersion) => {
|
|
|
3773
3773
|
// src/mint/mint-transactions.ts
|
|
3774
3774
|
function makeOnchainMintCall({
|
|
3775
3775
|
token,
|
|
3776
|
-
mintParams
|
|
3776
|
+
mintParams,
|
|
3777
|
+
chainId
|
|
3777
3778
|
}) {
|
|
3778
3779
|
if (token.mintType === "721") {
|
|
3779
3780
|
return makePrepareMint721TokenParams({
|
|
@@ -3786,9 +3787,55 @@ function makeOnchainMintCall({
|
|
|
3786
3787
|
salesConfigAndTokenInfo: token,
|
|
3787
3788
|
tokenContract: token.contract.address,
|
|
3788
3789
|
tokenId: token.tokenId,
|
|
3790
|
+
chainId,
|
|
3789
3791
|
...mintParams
|
|
3790
3792
|
});
|
|
3791
3793
|
}
|
|
3794
|
+
function makeZoraTimedSaleStrategyMintCall({
|
|
3795
|
+
minterAccount,
|
|
3796
|
+
salesConfigAndTokenInfo,
|
|
3797
|
+
mintQuantity,
|
|
3798
|
+
mintTo,
|
|
3799
|
+
tokenContract,
|
|
3800
|
+
tokenId,
|
|
3801
|
+
mintReferral,
|
|
3802
|
+
mintComment,
|
|
3803
|
+
chainId
|
|
3804
|
+
}) {
|
|
3805
|
+
if (mintComment && mintComment !== "") {
|
|
3806
|
+
return makeContractParameters({
|
|
3807
|
+
abi: import_protocol_deployments6.callerAndCommenterABI,
|
|
3808
|
+
address: import_protocol_deployments6.callerAndCommenterAddress[chainId],
|
|
3809
|
+
functionName: "timedSaleMintAndComment",
|
|
3810
|
+
account: minterAccount,
|
|
3811
|
+
value: salesConfigAndTokenInfo.salesConfig.mintFeePerQuantity * mintQuantity,
|
|
3812
|
+
args: [
|
|
3813
|
+
mintTo,
|
|
3814
|
+
mintQuantity,
|
|
3815
|
+
tokenContract,
|
|
3816
|
+
tokenId,
|
|
3817
|
+
mintReferral || import_viem5.zeroAddress,
|
|
3818
|
+
mintComment
|
|
3819
|
+
]
|
|
3820
|
+
});
|
|
3821
|
+
}
|
|
3822
|
+
return makeContractParameters({
|
|
3823
|
+
abi: import_protocol_deployments6.zoraTimedSaleStrategyABI,
|
|
3824
|
+
functionName: "mint",
|
|
3825
|
+
account: minterAccount,
|
|
3826
|
+
address: salesConfigAndTokenInfo.salesConfig.address,
|
|
3827
|
+
value: salesConfigAndTokenInfo.salesConfig.mintFeePerQuantity * mintQuantity,
|
|
3828
|
+
/* args: mintTo, quantity, collection, tokenId, mintReferral, comment */
|
|
3829
|
+
args: [
|
|
3830
|
+
mintTo,
|
|
3831
|
+
mintQuantity,
|
|
3832
|
+
tokenContract,
|
|
3833
|
+
BigInt(tokenId),
|
|
3834
|
+
mintReferral || import_viem5.zeroAddress,
|
|
3835
|
+
""
|
|
3836
|
+
]
|
|
3837
|
+
});
|
|
3838
|
+
}
|
|
3792
3839
|
function makePrepareMint1155TokenParams({
|
|
3793
3840
|
tokenContract,
|
|
3794
3841
|
tokenId,
|
|
@@ -3798,7 +3845,8 @@ function makePrepareMint1155TokenParams({
|
|
|
3798
3845
|
mintReferral,
|
|
3799
3846
|
mintRecipient,
|
|
3800
3847
|
quantityToMint,
|
|
3801
|
-
allowListEntry
|
|
3848
|
+
allowListEntry,
|
|
3849
|
+
chainId
|
|
3802
3850
|
}) {
|
|
3803
3851
|
const mintQuantity = BigInt(quantityToMint || 1);
|
|
3804
3852
|
const mintTo = mintRecipientOrAccount({ mintRecipient, minterAccount });
|
|
@@ -3817,21 +3865,16 @@ function makePrepareMint1155TokenParams({
|
|
|
3817
3865
|
});
|
|
3818
3866
|
}
|
|
3819
3867
|
if (saleType === "timed") {
|
|
3820
|
-
return
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
tokenContract,
|
|
3831
|
-
BigInt(tokenId),
|
|
3832
|
-
mintReferral || import_viem5.zeroAddress,
|
|
3833
|
-
mintComment || ""
|
|
3834
|
-
]
|
|
3868
|
+
return makeZoraTimedSaleStrategyMintCall({
|
|
3869
|
+
minterAccount,
|
|
3870
|
+
salesConfigAndTokenInfo,
|
|
3871
|
+
mintQuantity,
|
|
3872
|
+
mintTo,
|
|
3873
|
+
tokenContract,
|
|
3874
|
+
tokenId,
|
|
3875
|
+
mintReferral,
|
|
3876
|
+
mintComment,
|
|
3877
|
+
chainId
|
|
3835
3878
|
});
|
|
3836
3879
|
}
|
|
3837
3880
|
if (saleType === "erc20") {
|
|
@@ -3996,7 +4039,8 @@ async function getMint({
|
|
|
3996
4039
|
params,
|
|
3997
4040
|
mintGetter,
|
|
3998
4041
|
premintGetter,
|
|
3999
|
-
publicClient
|
|
4042
|
+
publicClient,
|
|
4043
|
+
chainId
|
|
4000
4044
|
}) {
|
|
4001
4045
|
const { tokenContract } = params;
|
|
4002
4046
|
if (isOnChainMint(params)) {
|
|
@@ -4008,7 +4052,7 @@ async function getMint({
|
|
|
4008
4052
|
preferredSaleType: params.preferredSaleType,
|
|
4009
4053
|
blockTime
|
|
4010
4054
|
});
|
|
4011
|
-
return toMintableReturn(result);
|
|
4055
|
+
return toMintableReturn(result, chainId);
|
|
4012
4056
|
}
|
|
4013
4057
|
const premint = await premintGetter.get({
|
|
4014
4058
|
collectionAddress: tokenContract,
|
|
@@ -4046,11 +4090,12 @@ async function getMintsOfContract({
|
|
|
4046
4090
|
params,
|
|
4047
4091
|
mintGetter,
|
|
4048
4092
|
premintGetter,
|
|
4049
|
-
publicClient
|
|
4093
|
+
publicClient,
|
|
4094
|
+
chainId
|
|
4050
4095
|
}) {
|
|
4051
4096
|
const onchainMints = (await mintGetter.getContractMintable({
|
|
4052
4097
|
tokenAddress: params.tokenContract
|
|
4053
|
-
})).map(toMintableReturn);
|
|
4098
|
+
})).map((result) => toMintableReturn(result, chainId));
|
|
4054
4099
|
const offchainMints = await getPremintsOfContractMintable({
|
|
4055
4100
|
mintGetter,
|
|
4056
4101
|
premintGetter,
|
|
@@ -4167,14 +4212,15 @@ function parsePremint({
|
|
|
4167
4212
|
}
|
|
4168
4213
|
throw new Error("Invalid premint config version");
|
|
4169
4214
|
}
|
|
4170
|
-
var makeOnchainPrepareMint = (result) => (params) => {
|
|
4215
|
+
var makeOnchainPrepareMint = (result, chainId) => (params) => {
|
|
4171
4216
|
if (!result.salesConfig) {
|
|
4172
4217
|
throw new Error("No valid sales config found for token");
|
|
4173
4218
|
}
|
|
4174
4219
|
return {
|
|
4175
4220
|
parameters: makeOnchainMintCall({
|
|
4176
4221
|
token: result,
|
|
4177
|
-
mintParams: params
|
|
4222
|
+
mintParams: params,
|
|
4223
|
+
chainId
|
|
4178
4224
|
}),
|
|
4179
4225
|
erc20Approval: getRequiredErc20Approvals(params, result.salesConfig),
|
|
4180
4226
|
costs: parseMintCosts({
|
|
@@ -4184,7 +4230,7 @@ var makeOnchainPrepareMint = (result) => (params) => {
|
|
|
4184
4230
|
})
|
|
4185
4231
|
};
|
|
4186
4232
|
};
|
|
4187
|
-
function toMintableReturn(result) {
|
|
4233
|
+
function toMintableReturn(result, chainId) {
|
|
4188
4234
|
const primaryMintActive = result.primaryMintActive;
|
|
4189
4235
|
if (!primaryMintActive) {
|
|
4190
4236
|
return {
|
|
@@ -4200,7 +4246,10 @@ function toMintableReturn(result) {
|
|
|
4200
4246
|
primaryMintActive,
|
|
4201
4247
|
primaryMintEnd: result.primaryMintEnd,
|
|
4202
4248
|
secondaryMarketActive: result.secondaryMarketActive,
|
|
4203
|
-
prepareMint: makeOnchainPrepareMint(
|
|
4249
|
+
prepareMint: makeOnchainPrepareMint(
|
|
4250
|
+
result.salesConfigAndTokenInfo,
|
|
4251
|
+
chainId
|
|
4252
|
+
)
|
|
4204
4253
|
};
|
|
4205
4254
|
}
|
|
4206
4255
|
var makePremintPrepareMint = (mintable, mintFee, premint) => {
|
|
@@ -4263,11 +4312,13 @@ var MintClient = class {
|
|
|
4263
4312
|
constructor({
|
|
4264
4313
|
publicClient,
|
|
4265
4314
|
premintGetter,
|
|
4266
|
-
mintGetter
|
|
4315
|
+
mintGetter,
|
|
4316
|
+
chainId
|
|
4267
4317
|
}) {
|
|
4268
4318
|
this.publicClient = publicClient;
|
|
4269
4319
|
this.mintGetter = mintGetter;
|
|
4270
4320
|
this.premintGetter = premintGetter;
|
|
4321
|
+
this.chainId = chainId;
|
|
4271
4322
|
}
|
|
4272
4323
|
/**
|
|
4273
4324
|
* Returns the parameters needed to prepare a transaction mint a token.
|
|
@@ -4281,7 +4332,8 @@ var MintClient = class {
|
|
|
4281
4332
|
parameters,
|
|
4282
4333
|
publicClient: this.publicClient,
|
|
4283
4334
|
mintGetter: this.mintGetter,
|
|
4284
|
-
premintGetter: this.premintGetter
|
|
4335
|
+
premintGetter: this.premintGetter,
|
|
4336
|
+
chainId: this.chainId
|
|
4285
4337
|
});
|
|
4286
4338
|
}
|
|
4287
4339
|
/**
|
|
@@ -4295,7 +4347,8 @@ var MintClient = class {
|
|
|
4295
4347
|
params: parameters,
|
|
4296
4348
|
mintGetter: this.mintGetter,
|
|
4297
4349
|
premintGetter: this.premintGetter,
|
|
4298
|
-
publicClient: this.publicClient
|
|
4350
|
+
publicClient: this.publicClient,
|
|
4351
|
+
chainId: this.chainId
|
|
4299
4352
|
});
|
|
4300
4353
|
}
|
|
4301
4354
|
/**
|
|
@@ -4309,7 +4362,8 @@ var MintClient = class {
|
|
|
4309
4362
|
params,
|
|
4310
4363
|
mintGetter: this.mintGetter,
|
|
4311
4364
|
premintGetter: this.premintGetter,
|
|
4312
|
-
publicClient: this.publicClient
|
|
4365
|
+
publicClient: this.publicClient,
|
|
4366
|
+
chainId: this.chainId
|
|
4313
4367
|
});
|
|
4314
4368
|
}
|
|
4315
4369
|
/**
|
|
@@ -4330,13 +4384,15 @@ async function mint({
|
|
|
4330
4384
|
parameters,
|
|
4331
4385
|
publicClient,
|
|
4332
4386
|
mintGetter,
|
|
4333
|
-
premintGetter
|
|
4387
|
+
premintGetter,
|
|
4388
|
+
chainId
|
|
4334
4389
|
}) {
|
|
4335
4390
|
const { prepareMint, primaryMintActive } = await getMint({
|
|
4336
4391
|
params: parameters,
|
|
4337
4392
|
mintGetter,
|
|
4338
4393
|
premintGetter,
|
|
4339
|
-
publicClient
|
|
4394
|
+
publicClient,
|
|
4395
|
+
chainId
|
|
4340
4396
|
});
|
|
4341
4397
|
if (!primaryMintActive) {
|
|
4342
4398
|
throw new Error("Primary mint is not active");
|
|
@@ -4443,19 +4499,27 @@ var parseNameIntoSymbol = (name) => {
|
|
|
4443
4499
|
}
|
|
4444
4500
|
return result;
|
|
4445
4501
|
};
|
|
4502
|
+
var getMinimumMarketEth = (params) => {
|
|
4503
|
+
if (params.minimumMintsForCountdown) {
|
|
4504
|
+
return params.minimumMintsForCountdown * (0, import_viem7.parseEther)("0.0000111");
|
|
4505
|
+
}
|
|
4506
|
+
return params.minimumMarketEth || DEFAULT_MINIMUM_MARKET_ETH;
|
|
4507
|
+
};
|
|
4446
4508
|
var timedSaleSettingsWithDefaults = (params, contractName) => {
|
|
4447
4509
|
const erc20Name = params.erc20Name || contractName;
|
|
4448
|
-
const
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4510
|
+
const minimumMarketEth = getMinimumMarketEth({
|
|
4511
|
+
minimumMarketEth: params.minimumMarketEth,
|
|
4512
|
+
minimumMintsForCountdown: params.minimumMintsForCountdown
|
|
4513
|
+
});
|
|
4514
|
+
const minimumMintsForCountdown = minimumMarketEth / (0, import_viem7.parseEther)("0.0000111");
|
|
4452
4515
|
return {
|
|
4453
4516
|
type: "timed",
|
|
4454
4517
|
erc20Name,
|
|
4455
|
-
erc20Symbol:
|
|
4456
|
-
saleStart:
|
|
4457
|
-
marketCountdown:
|
|
4458
|
-
minimumMarketEth
|
|
4518
|
+
erc20Symbol: params.erc20Symbol || parseNameIntoSymbol(erc20Name),
|
|
4519
|
+
saleStart: params.saleStart || 0n,
|
|
4520
|
+
marketCountdown: params.marketCountdown || DEFAULT_MARKET_COUNTDOWN,
|
|
4521
|
+
minimumMarketEth,
|
|
4522
|
+
minimumMintsForCountdown
|
|
4459
4523
|
};
|
|
4460
4524
|
};
|
|
4461
4525
|
var isAllowList = (salesConfig) => salesConfig.type === "allowlistMint";
|
|
@@ -4871,7 +4935,8 @@ function makeOnchainPrepareMintFromCreate({
|
|
|
4871
4935
|
result,
|
|
4872
4936
|
minter,
|
|
4873
4937
|
getContractMintFee,
|
|
4874
|
-
contractVersion
|
|
4938
|
+
contractVersion,
|
|
4939
|
+
chainId
|
|
4875
4940
|
}) {
|
|
4876
4941
|
return async (params) => {
|
|
4877
4942
|
const subgraphSalesConfig = await toSalesStrategyFromSubgraph({
|
|
@@ -4887,7 +4952,8 @@ function makeOnchainPrepareMintFromCreate({
|
|
|
4887
4952
|
},
|
|
4888
4953
|
...params,
|
|
4889
4954
|
tokenContract: contractAddress,
|
|
4890
|
-
tokenId
|
|
4955
|
+
tokenId,
|
|
4956
|
+
chainId
|
|
4891
4957
|
}),
|
|
4892
4958
|
costs: parseMintCosts({
|
|
4893
4959
|
allowListEntry: params.allowListEntry,
|
|
@@ -5060,7 +5126,8 @@ async function createNew1155ContractAndToken({
|
|
|
5060
5126
|
getContractMintFee: async () => getNewContractMintFee({
|
|
5061
5127
|
publicClient,
|
|
5062
5128
|
chainId
|
|
5063
|
-
})
|
|
5129
|
+
}),
|
|
5130
|
+
chainId
|
|
5064
5131
|
});
|
|
5065
5132
|
return {
|
|
5066
5133
|
parameters: request,
|
|
@@ -5106,7 +5173,8 @@ async function createNew1155Token({
|
|
|
5106
5173
|
minter,
|
|
5107
5174
|
result: newToken.salesConfig,
|
|
5108
5175
|
tokenId: nextTokenId,
|
|
5109
|
-
getContractMintFee: async () => mintFee
|
|
5176
|
+
getContractMintFee: async () => mintFee,
|
|
5177
|
+
chainId
|
|
5110
5178
|
});
|
|
5111
5179
|
return {
|
|
5112
5180
|
parameters: request,
|
|
@@ -5734,7 +5802,7 @@ var SubgraphRewardsGetter = class extends SubgraphGetter {
|
|
|
5734
5802
|
};
|
|
5735
5803
|
|
|
5736
5804
|
// src/secondary/secondary-client.ts
|
|
5737
|
-
var
|
|
5805
|
+
var import_viem19 = require("viem");
|
|
5738
5806
|
var import_protocol_deployments15 = require("@zoralabs/protocol-deployments");
|
|
5739
5807
|
|
|
5740
5808
|
// src/secondary/uniswap/uniswapQuote.ts
|
|
@@ -5964,6 +6032,7 @@ function calculateSlippageDown(amount, slippage) {
|
|
|
5964
6032
|
}
|
|
5965
6033
|
|
|
5966
6034
|
// src/secondary/utils.ts
|
|
6035
|
+
var import_viem18 = require("viem");
|
|
5967
6036
|
var import_protocol_deployments14 = require("@zoralabs/protocol-deployments");
|
|
5968
6037
|
async function getSecondaryInfo({
|
|
5969
6038
|
contract,
|
|
@@ -5971,12 +6040,18 @@ async function getSecondaryInfo({
|
|
|
5971
6040
|
publicClient,
|
|
5972
6041
|
chainId
|
|
5973
6042
|
}) {
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
6043
|
+
let result;
|
|
6044
|
+
try {
|
|
6045
|
+
result = await publicClient.readContract({
|
|
6046
|
+
abi: import_protocol_deployments14.zoraTimedSaleStrategyABI,
|
|
6047
|
+
address: import_protocol_deployments14.zoraTimedSaleStrategyAddress[chainId],
|
|
6048
|
+
functionName: "saleV2",
|
|
6049
|
+
args: [contract, tokenId]
|
|
6050
|
+
});
|
|
6051
|
+
} catch (e) {
|
|
6052
|
+
console.error(e);
|
|
6053
|
+
return void 0;
|
|
6054
|
+
}
|
|
5980
6055
|
if (!result.erc20zAddress) {
|
|
5981
6056
|
return void 0;
|
|
5982
6057
|
}
|
|
@@ -5984,7 +6059,15 @@ async function getSecondaryInfo({
|
|
|
5984
6059
|
erc20z: result.erc20zAddress,
|
|
5985
6060
|
pool: result.poolAddress,
|
|
5986
6061
|
secondaryActivated: result.secondaryActivated,
|
|
5987
|
-
saleEnd: result.saleEnd === 0n ? void 0 : result.saleEnd
|
|
6062
|
+
saleEnd: result.saleEnd === 0n ? void 0 : result.saleEnd,
|
|
6063
|
+
saleStart: result.saleStart,
|
|
6064
|
+
name: result.name,
|
|
6065
|
+
symbol: result.symbol,
|
|
6066
|
+
marketCountdown: result.marketCountdown === 0n ? void 0 : result.marketCountdown,
|
|
6067
|
+
minimumMintsForCountdown: result.minimumMarketEth === 0n ? void 0 : result.minimumMarketEth / (0, import_viem18.parseEther)("0.0000111"),
|
|
6068
|
+
mintCount: await publicClient.getBalance({
|
|
6069
|
+
address: result.erc20zAddress
|
|
6070
|
+
}) / (0, import_viem18.parseEther)("0.0000111")
|
|
5988
6071
|
};
|
|
5989
6072
|
}
|
|
5990
6073
|
|
|
@@ -5994,10 +6077,13 @@ var ERROR_INSUFFICIENT_WALLET_FUNDS = "Insufficient wallet funds";
|
|
|
5994
6077
|
var ERROR_INSUFFICIENT_POOL_SUPPLY = "Insufficient pool supply";
|
|
5995
6078
|
var ERROR_SECONDARY_NOT_CONFIGURED = "Secondary not configured for given contract and token";
|
|
5996
6079
|
var ERROR_SECONDARY_NOT_STARTED = "Secondary market has not started";
|
|
6080
|
+
var ERROR_RECIPIENT_MISMATCH = "Recipient must be the same as the caller if there is a comment";
|
|
5997
6081
|
function makeError(errorMessage) {
|
|
5998
6082
|
return { error: errorMessage };
|
|
5999
6083
|
}
|
|
6000
6084
|
async function makeBuy({
|
|
6085
|
+
contract,
|
|
6086
|
+
tokenId,
|
|
6001
6087
|
erc20z,
|
|
6002
6088
|
poolBalance,
|
|
6003
6089
|
amount,
|
|
@@ -6006,20 +6092,106 @@ async function makeBuy({
|
|
|
6006
6092
|
recipient,
|
|
6007
6093
|
chainId,
|
|
6008
6094
|
slippage,
|
|
6009
|
-
publicClient
|
|
6095
|
+
publicClient,
|
|
6096
|
+
comment
|
|
6010
6097
|
}) {
|
|
6011
6098
|
const costWithSlippage = calculateSlippageUp(amount, slippage);
|
|
6012
|
-
const availableToBuy = poolBalance.erc20z / BigInt(1e18) - 1n;
|
|
6013
6099
|
const accountAddress = addressOrAccountAddress(account);
|
|
6100
|
+
const validationResult = await validateBuyConditions({
|
|
6101
|
+
poolBalance,
|
|
6102
|
+
quantity,
|
|
6103
|
+
costWithSlippage,
|
|
6104
|
+
accountAddress,
|
|
6105
|
+
publicClient
|
|
6106
|
+
});
|
|
6107
|
+
if (validationResult.error) {
|
|
6108
|
+
return makeError(validationResult.error);
|
|
6109
|
+
}
|
|
6110
|
+
if (comment && comment !== "") {
|
|
6111
|
+
return handleBuyWithComment({
|
|
6112
|
+
accountAddress,
|
|
6113
|
+
recipient,
|
|
6114
|
+
chainId,
|
|
6115
|
+
quantity,
|
|
6116
|
+
contract,
|
|
6117
|
+
tokenId,
|
|
6118
|
+
costWithSlippage,
|
|
6119
|
+
comment,
|
|
6120
|
+
account
|
|
6121
|
+
});
|
|
6122
|
+
}
|
|
6123
|
+
return handleBuyWithoutComment({
|
|
6124
|
+
erc20z,
|
|
6125
|
+
quantity,
|
|
6126
|
+
recipient,
|
|
6127
|
+
accountAddress,
|
|
6128
|
+
costWithSlippage,
|
|
6129
|
+
chainId,
|
|
6130
|
+
account
|
|
6131
|
+
});
|
|
6132
|
+
}
|
|
6133
|
+
async function validateBuyConditions({
|
|
6134
|
+
poolBalance,
|
|
6135
|
+
quantity,
|
|
6136
|
+
costWithSlippage,
|
|
6137
|
+
accountAddress,
|
|
6138
|
+
publicClient
|
|
6139
|
+
}) {
|
|
6140
|
+
const availableToBuy = poolBalance.erc20z / BigInt(1e18) - 1n;
|
|
6014
6141
|
const availableToSpend = await publicClient.getBalance({
|
|
6015
6142
|
address: accountAddress
|
|
6016
6143
|
});
|
|
6017
6144
|
if (costWithSlippage > availableToSpend) {
|
|
6018
|
-
return
|
|
6145
|
+
return { error: ERROR_INSUFFICIENT_WALLET_FUNDS };
|
|
6019
6146
|
}
|
|
6020
6147
|
if (availableToBuy < BigInt(quantity)) {
|
|
6021
|
-
return
|
|
6148
|
+
return { error: ERROR_INSUFFICIENT_POOL_SUPPLY };
|
|
6022
6149
|
}
|
|
6150
|
+
return {};
|
|
6151
|
+
}
|
|
6152
|
+
function handleBuyWithComment({
|
|
6153
|
+
accountAddress,
|
|
6154
|
+
recipient,
|
|
6155
|
+
chainId,
|
|
6156
|
+
quantity,
|
|
6157
|
+
contract,
|
|
6158
|
+
tokenId,
|
|
6159
|
+
costWithSlippage,
|
|
6160
|
+
comment,
|
|
6161
|
+
account
|
|
6162
|
+
}) {
|
|
6163
|
+
if (recipient && recipient !== accountAddress) {
|
|
6164
|
+
return makeError(ERROR_RECIPIENT_MISMATCH);
|
|
6165
|
+
}
|
|
6166
|
+
return {
|
|
6167
|
+
parameters: makeContractParameters({
|
|
6168
|
+
abi: import_protocol_deployments15.callerAndCommenterABI,
|
|
6169
|
+
address: import_protocol_deployments15.callerAndCommenterAddress[chainId],
|
|
6170
|
+
functionName: "buyOnSecondaryAndComment",
|
|
6171
|
+
args: [
|
|
6172
|
+
accountAddress,
|
|
6173
|
+
quantity,
|
|
6174
|
+
contract,
|
|
6175
|
+
tokenId,
|
|
6176
|
+
accountAddress,
|
|
6177
|
+
costWithSlippage,
|
|
6178
|
+
0n,
|
|
6179
|
+
comment
|
|
6180
|
+
],
|
|
6181
|
+
account,
|
|
6182
|
+
value: costWithSlippage
|
|
6183
|
+
})
|
|
6184
|
+
};
|
|
6185
|
+
}
|
|
6186
|
+
function handleBuyWithoutComment({
|
|
6187
|
+
erc20z,
|
|
6188
|
+
quantity,
|
|
6189
|
+
recipient,
|
|
6190
|
+
accountAddress,
|
|
6191
|
+
costWithSlippage,
|
|
6192
|
+
chainId,
|
|
6193
|
+
account
|
|
6194
|
+
}) {
|
|
6023
6195
|
return {
|
|
6024
6196
|
parameters: makeContractParameters({
|
|
6025
6197
|
abi: import_protocol_deployments15.secondarySwapABI,
|
|
@@ -6046,7 +6218,8 @@ async function buyWithSlippage({
|
|
|
6046
6218
|
chainId,
|
|
6047
6219
|
account,
|
|
6048
6220
|
slippage = UNISWAP_SLIPPAGE,
|
|
6049
|
-
recipient
|
|
6221
|
+
recipient,
|
|
6222
|
+
comment
|
|
6050
6223
|
}) {
|
|
6051
6224
|
const secondaryInfo = await getSecondaryInfo({
|
|
6052
6225
|
contract,
|
|
@@ -6073,6 +6246,8 @@ async function buyWithSlippage({
|
|
|
6073
6246
|
);
|
|
6074
6247
|
const call = await makeBuy({
|
|
6075
6248
|
erc20z,
|
|
6249
|
+
contract,
|
|
6250
|
+
tokenId,
|
|
6076
6251
|
poolBalance,
|
|
6077
6252
|
amount,
|
|
6078
6253
|
quantity,
|
|
@@ -6080,6 +6255,7 @@ async function buyWithSlippage({
|
|
|
6080
6255
|
recipient,
|
|
6081
6256
|
chainId,
|
|
6082
6257
|
slippage,
|
|
6258
|
+
comment,
|
|
6083
6259
|
publicClient
|
|
6084
6260
|
});
|
|
6085
6261
|
return {
|
|
@@ -6115,7 +6291,7 @@ async function makeSell({
|
|
|
6115
6291
|
return makeError(ERROR_INSUFFICIENT_POOL_SUPPLY);
|
|
6116
6292
|
}
|
|
6117
6293
|
const receivedWithSlippage = calculateSlippageDown(amount, slippage);
|
|
6118
|
-
const data = (0,
|
|
6294
|
+
const data = (0, import_viem19.encodeAbiParameters)(import_protocol_deployments15.safeTransferSwapAbiParameters, [
|
|
6119
6295
|
recipient || accountAddress,
|
|
6120
6296
|
receivedWithSlippage,
|
|
6121
6297
|
0n
|
|
@@ -6269,7 +6445,8 @@ function createCollectorClient(params) {
|
|
|
6269
6445
|
const mintClient = new MintClient({
|
|
6270
6446
|
publicClient: params.publicClient,
|
|
6271
6447
|
premintGetter: premintGetterToUse,
|
|
6272
|
-
mintGetter: mintGetterToUse
|
|
6448
|
+
mintGetter: mintGetterToUse,
|
|
6449
|
+
chainId: params.chainId
|
|
6273
6450
|
});
|
|
6274
6451
|
const secondaryClient = new SecondaryClient({
|
|
6275
6452
|
publicClient: params.publicClient,
|