@zoralabs/protocol-sdk 0.7.5 → 0.8.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 +14 -0
- package/dist/create/1155-create-helper.d.ts +14 -11
- package/dist/create/1155-create-helper.d.ts.map +1 -1
- package/dist/create/contract-setup.d.ts +12 -8
- package/dist/create/contract-setup.d.ts.map +1 -1
- package/dist/create/types.d.ts +21 -6
- package/dist/create/types.d.ts.map +1 -1
- package/dist/index.cjs +192 -91
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +190 -91
- package/dist/index.js.map +1 -1
- package/dist/sdk.d.ts +2 -1
- package/dist/sdk.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/create/1155-create-helper.test.ts +65 -59
- package/src/create/1155-create-helper.ts +203 -89
- package/src/create/contract-setup.ts +46 -44
- package/src/create/types.ts +36 -14
- package/src/sdk.ts +5 -2
package/dist/index.js
CHANGED
|
@@ -4102,49 +4102,51 @@ function new1155ContractVersion(chainId) {
|
|
|
4102
4102
|
}
|
|
4103
4103
|
return address.CONTRACT_1155_IMPL_VERSION;
|
|
4104
4104
|
}
|
|
4105
|
-
async function
|
|
4105
|
+
async function getContractInfoExistingContract({
|
|
4106
4106
|
publicClient,
|
|
4107
|
-
|
|
4108
|
-
contract,
|
|
4109
|
-
account
|
|
4107
|
+
contractAddress
|
|
4110
4108
|
}) {
|
|
4111
|
-
const contractAddress = typeof contract === "string" ? contract : await publicClient.readContract({
|
|
4112
|
-
abi: zoraCreator1155FactoryImplABI,
|
|
4113
|
-
// Since this address is deterministic we can hardcode a chain id safely here.
|
|
4114
|
-
address: zoraCreator1155FactoryImplAddress[chainId],
|
|
4115
|
-
functionName: "deterministicContractAddress",
|
|
4116
|
-
args: [
|
|
4117
|
-
account,
|
|
4118
|
-
contract.uri,
|
|
4119
|
-
contract.name,
|
|
4120
|
-
contract.defaultAdmin || account
|
|
4121
|
-
]
|
|
4122
|
-
});
|
|
4123
4109
|
let contractVersion;
|
|
4124
|
-
let contractExists;
|
|
4125
4110
|
try {
|
|
4126
4111
|
contractVersion = await publicClient.readContract({
|
|
4127
4112
|
abi: zoraCreator1155ImplABI3,
|
|
4128
4113
|
address: contractAddress,
|
|
4129
4114
|
functionName: "contractVersion"
|
|
4130
4115
|
});
|
|
4131
|
-
contractExists = true;
|
|
4132
4116
|
} catch (e) {
|
|
4133
|
-
|
|
4134
|
-
contractExists = false;
|
|
4117
|
+
throw new Error(`Contract does not exist at ${contractAddress}`);
|
|
4135
4118
|
}
|
|
4136
|
-
const nextTokenId =
|
|
4119
|
+
const nextTokenId = await publicClient.readContract({
|
|
4137
4120
|
address: contractAddress,
|
|
4138
4121
|
abi: zoraCreator1155ImplABI3,
|
|
4139
4122
|
functionName: "nextTokenId"
|
|
4140
|
-
})
|
|
4123
|
+
});
|
|
4141
4124
|
return {
|
|
4142
|
-
contractExists,
|
|
4143
|
-
contractAddress,
|
|
4144
4125
|
contractVersion,
|
|
4145
4126
|
nextTokenId
|
|
4146
4127
|
};
|
|
4147
4128
|
}
|
|
4129
|
+
async function getDeterministicContractAddress({
|
|
4130
|
+
publicClient,
|
|
4131
|
+
account,
|
|
4132
|
+
setupActions,
|
|
4133
|
+
contract,
|
|
4134
|
+
chainId
|
|
4135
|
+
}) {
|
|
4136
|
+
const contractAddress = await publicClient.readContract({
|
|
4137
|
+
abi: zoraCreator1155FactoryImplABI,
|
|
4138
|
+
address: zoraCreator1155FactoryImplAddress[chainId],
|
|
4139
|
+
functionName: "deterministicContractAddressWithSetupActions",
|
|
4140
|
+
args: [
|
|
4141
|
+
account,
|
|
4142
|
+
contract.uri,
|
|
4143
|
+
contract.name,
|
|
4144
|
+
contract.defaultAdmin || account,
|
|
4145
|
+
setupActions
|
|
4146
|
+
]
|
|
4147
|
+
});
|
|
4148
|
+
return contractAddress;
|
|
4149
|
+
}
|
|
4148
4150
|
|
|
4149
4151
|
// src/create/token-setup.ts
|
|
4150
4152
|
var semver3 = __toESM(require_semver2(), 1);
|
|
@@ -4432,43 +4434,61 @@ var getTokenIdFromCreateReceipt = (receipt) => {
|
|
|
4432
4434
|
} catch (err) {
|
|
4433
4435
|
}
|
|
4434
4436
|
}
|
|
4437
|
+
throw new Error(
|
|
4438
|
+
"No event found in receipt that could be used to get tokenId"
|
|
4439
|
+
);
|
|
4440
|
+
};
|
|
4441
|
+
var getContractAddressFromReceipt = (receipt) => {
|
|
4442
|
+
for (const data of receipt.logs) {
|
|
4443
|
+
try {
|
|
4444
|
+
const decodedLog = decodeEventLog2({
|
|
4445
|
+
abi: zoraCreator1155FactoryImplABI2,
|
|
4446
|
+
eventName: "SetupNewContract",
|
|
4447
|
+
...data
|
|
4448
|
+
});
|
|
4449
|
+
if (decodedLog && decodedLog.eventName === "SetupNewContract") {
|
|
4450
|
+
return decodedLog.args.newContract;
|
|
4451
|
+
}
|
|
4452
|
+
} catch (err) {
|
|
4453
|
+
}
|
|
4454
|
+
}
|
|
4455
|
+
throw new Error(
|
|
4456
|
+
"No event found in receipt that could be used to get contract address"
|
|
4457
|
+
);
|
|
4435
4458
|
};
|
|
4436
4459
|
function makeCreateContractAndTokenCall({
|
|
4437
|
-
contractExists,
|
|
4438
|
-
contractAddress,
|
|
4439
|
-
contract,
|
|
4440
4460
|
account,
|
|
4461
|
+
contract,
|
|
4441
4462
|
royaltyBPS,
|
|
4463
|
+
fundsRecipient,
|
|
4442
4464
|
tokenSetupActions,
|
|
4443
|
-
|
|
4465
|
+
chainId
|
|
4466
|
+
}) {
|
|
4467
|
+
const accountAddress = typeof account === "string" ? account : account.address;
|
|
4468
|
+
return makeContractParameters({
|
|
4469
|
+
abi: zoraCreator1155FactoryImplABI2,
|
|
4470
|
+
functionName: "createContractDeterministic",
|
|
4471
|
+
account,
|
|
4472
|
+
address: zoraCreator1155FactoryImplAddress2[chainId],
|
|
4473
|
+
args: [
|
|
4474
|
+
contract.uri,
|
|
4475
|
+
contract.name,
|
|
4476
|
+
{
|
|
4477
|
+
// deprecated
|
|
4478
|
+
royaltyMintSchedule: 0,
|
|
4479
|
+
royaltyBPS: royaltyBPS || ROYALTY_BPS_DEFAULT,
|
|
4480
|
+
royaltyRecipient: fundsRecipient || accountAddress
|
|
4481
|
+
},
|
|
4482
|
+
contract.defaultAdmin || accountAddress,
|
|
4483
|
+
tokenSetupActions
|
|
4484
|
+
]
|
|
4485
|
+
});
|
|
4486
|
+
}
|
|
4487
|
+
function makeCreateTokenCall({
|
|
4488
|
+
contractAddress,
|
|
4489
|
+
account,
|
|
4490
|
+
tokenSetupActions
|
|
4444
4491
|
}) {
|
|
4445
|
-
if (!contractAddress && typeof contract === "string") {
|
|
4446
|
-
throw new Error("Invariant: contract cannot be missing and an address");
|
|
4447
|
-
}
|
|
4448
|
-
if (!contractExists) {
|
|
4449
|
-
if (typeof contract === "string") {
|
|
4450
|
-
throw new Error("Invariant: expected contract object");
|
|
4451
|
-
}
|
|
4452
|
-
const accountAddress = typeof account === "string" ? account : account.address;
|
|
4453
|
-
return makeContractParameters({
|
|
4454
|
-
abi: zoraCreator1155FactoryImplABI2,
|
|
4455
|
-
functionName: "createContractDeterministic",
|
|
4456
|
-
account,
|
|
4457
|
-
address: zoraCreator1155FactoryImplAddress2[999],
|
|
4458
|
-
args: [
|
|
4459
|
-
contract.uri,
|
|
4460
|
-
contract.name,
|
|
4461
|
-
{
|
|
4462
|
-
// deprecated
|
|
4463
|
-
royaltyMintSchedule: 0,
|
|
4464
|
-
royaltyBPS: royaltyBPS || ROYALTY_BPS_DEFAULT,
|
|
4465
|
-
royaltyRecipient: fundsRecipient || accountAddress
|
|
4466
|
-
},
|
|
4467
|
-
contract.defaultAdmin || accountAddress,
|
|
4468
|
-
tokenSetupActions
|
|
4469
|
-
]
|
|
4470
|
-
});
|
|
4471
|
-
}
|
|
4472
4492
|
return makeContractParameters({
|
|
4473
4493
|
abi: zoraCreator1155ImplABI5,
|
|
4474
4494
|
functionName: "multicall",
|
|
@@ -4485,65 +4505,141 @@ var Create1155Client = class {
|
|
|
4485
4505
|
this.chainId = chainId;
|
|
4486
4506
|
this.publicClient = publicClient;
|
|
4487
4507
|
}
|
|
4488
|
-
async
|
|
4489
|
-
return
|
|
4508
|
+
async createNew1155(props) {
|
|
4509
|
+
return createNew1155ContractAndToken({
|
|
4490
4510
|
...props,
|
|
4491
4511
|
publicClient: this.publicClient,
|
|
4492
4512
|
chainId: this.chainId
|
|
4493
4513
|
});
|
|
4494
4514
|
}
|
|
4515
|
+
async createNew1155OnExistingContract({
|
|
4516
|
+
contractAddress: contract,
|
|
4517
|
+
account,
|
|
4518
|
+
token,
|
|
4519
|
+
getAdditionalSetupActions
|
|
4520
|
+
}) {
|
|
4521
|
+
return createNew1155Token({
|
|
4522
|
+
contractAddress: contract,
|
|
4523
|
+
account,
|
|
4524
|
+
token,
|
|
4525
|
+
getAdditionalSetupActions,
|
|
4526
|
+
publicClient: this.publicClient,
|
|
4527
|
+
chainId: this.chainId
|
|
4528
|
+
});
|
|
4529
|
+
}
|
|
4495
4530
|
};
|
|
4496
|
-
async function
|
|
4531
|
+
async function createNew1155ContractAndToken({
|
|
4497
4532
|
contract,
|
|
4498
4533
|
account,
|
|
4534
|
+
chainId,
|
|
4535
|
+
token,
|
|
4536
|
+
publicClient,
|
|
4537
|
+
getAdditionalSetupActions
|
|
4538
|
+
}) {
|
|
4539
|
+
const nextTokenId = 1n;
|
|
4540
|
+
const contractVersion = new1155ContractVersion(chainId);
|
|
4541
|
+
const {
|
|
4542
|
+
minter,
|
|
4543
|
+
newToken,
|
|
4544
|
+
setupActions: tokenSetupActions
|
|
4545
|
+
} = prepareSetupActions({
|
|
4546
|
+
chainId,
|
|
4547
|
+
account,
|
|
4548
|
+
contractVersion,
|
|
4549
|
+
nextTokenId,
|
|
4550
|
+
token,
|
|
4551
|
+
getAdditionalSetupActions
|
|
4552
|
+
});
|
|
4553
|
+
const request = makeCreateContractAndTokenCall({
|
|
4554
|
+
contract,
|
|
4555
|
+
account,
|
|
4556
|
+
chainId,
|
|
4557
|
+
tokenSetupActions,
|
|
4558
|
+
fundsRecipient: token.payoutRecipient,
|
|
4559
|
+
royaltyBPS: token.royaltyBPS
|
|
4560
|
+
});
|
|
4561
|
+
const contractAddress = await getDeterministicContractAddress({
|
|
4562
|
+
account,
|
|
4563
|
+
publicClient,
|
|
4564
|
+
setupActions: tokenSetupActions,
|
|
4565
|
+
chainId,
|
|
4566
|
+
contract
|
|
4567
|
+
});
|
|
4568
|
+
return {
|
|
4569
|
+
parameters: request,
|
|
4570
|
+
tokenSetupActions,
|
|
4571
|
+
newTokenId: nextTokenId,
|
|
4572
|
+
newToken,
|
|
4573
|
+
contractAddress,
|
|
4574
|
+
contractVersion,
|
|
4575
|
+
minter
|
|
4576
|
+
};
|
|
4577
|
+
}
|
|
4578
|
+
async function createNew1155Token({
|
|
4579
|
+
contractAddress,
|
|
4580
|
+
account,
|
|
4499
4581
|
getAdditionalSetupActions,
|
|
4500
|
-
token
|
|
4582
|
+
token,
|
|
4501
4583
|
publicClient,
|
|
4502
4584
|
chainId
|
|
4503
4585
|
}) {
|
|
4504
|
-
const {
|
|
4586
|
+
const { nextTokenId, contractVersion } = await getContractInfoExistingContract({
|
|
4505
4587
|
publicClient,
|
|
4506
|
-
|
|
4507
|
-
contract,
|
|
4508
|
-
account
|
|
4588
|
+
contractAddress
|
|
4509
4589
|
});
|
|
4510
4590
|
const {
|
|
4511
4591
|
minter,
|
|
4512
4592
|
newToken,
|
|
4513
4593
|
setupActions: tokenSetupActions
|
|
4514
|
-
} =
|
|
4594
|
+
} = prepareSetupActions({
|
|
4515
4595
|
chainId,
|
|
4516
|
-
|
|
4596
|
+
account,
|
|
4517
4597
|
contractVersion,
|
|
4518
4598
|
nextTokenId,
|
|
4519
|
-
|
|
4599
|
+
token,
|
|
4600
|
+
getAdditionalSetupActions
|
|
4520
4601
|
});
|
|
4521
|
-
const
|
|
4522
|
-
...getAdditionalSetupActions({
|
|
4523
|
-
tokenId: nextTokenId,
|
|
4524
|
-
contractAddress
|
|
4525
|
-
}),
|
|
4526
|
-
...tokenSetupActions
|
|
4527
|
-
] : tokenSetupActions;
|
|
4528
|
-
const request = makeCreateContractAndTokenCall({
|
|
4529
|
-
contractExists,
|
|
4602
|
+
const request = makeCreateTokenCall({
|
|
4530
4603
|
contractAddress,
|
|
4531
|
-
contract,
|
|
4532
4604
|
account,
|
|
4533
|
-
tokenSetupActions
|
|
4534
|
-
royaltyBPS: tokenConfig.royaltyBPS,
|
|
4535
|
-
fundsRecipient: tokenConfig.payoutRecipient
|
|
4605
|
+
tokenSetupActions
|
|
4536
4606
|
});
|
|
4537
4607
|
return {
|
|
4538
4608
|
parameters: request,
|
|
4539
4609
|
tokenSetupActions,
|
|
4540
|
-
collectionAddress: contractAddress,
|
|
4541
|
-
contractExists,
|
|
4542
4610
|
newTokenId: nextTokenId,
|
|
4543
4611
|
newToken,
|
|
4612
|
+
contractVersion,
|
|
4544
4613
|
minter
|
|
4545
4614
|
};
|
|
4546
4615
|
}
|
|
4616
|
+
function prepareSetupActions({
|
|
4617
|
+
chainId,
|
|
4618
|
+
account,
|
|
4619
|
+
contractVersion,
|
|
4620
|
+
nextTokenId,
|
|
4621
|
+
token,
|
|
4622
|
+
getAdditionalSetupActions
|
|
4623
|
+
}) {
|
|
4624
|
+
const {
|
|
4625
|
+
minter,
|
|
4626
|
+
newToken,
|
|
4627
|
+
setupActions: tokenSetupActions
|
|
4628
|
+
} = constructCreate1155TokenCalls({
|
|
4629
|
+
chainId,
|
|
4630
|
+
ownerAddress: account,
|
|
4631
|
+
contractVersion,
|
|
4632
|
+
nextTokenId,
|
|
4633
|
+
...token
|
|
4634
|
+
});
|
|
4635
|
+
const setupActions = getAdditionalSetupActions ? [
|
|
4636
|
+
...getAdditionalSetupActions({
|
|
4637
|
+
tokenId: nextTokenId
|
|
4638
|
+
}),
|
|
4639
|
+
...tokenSetupActions
|
|
4640
|
+
] : tokenSetupActions;
|
|
4641
|
+
return { minter, newToken, setupActions };
|
|
4642
|
+
}
|
|
4547
4643
|
|
|
4548
4644
|
// src/sparks/mints-queries.ts
|
|
4549
4645
|
var getMintsAccountBalanceWithPriceQuery = (account) => {
|
|
@@ -4861,7 +4957,8 @@ function createCreatorClient(clientConfig) {
|
|
|
4861
4957
|
createPremint: (p) => premintClient.createPremint(p),
|
|
4862
4958
|
updatePremint: (p) => premintClient.updatePremint(p),
|
|
4863
4959
|
deletePremint: (p) => premintClient.deletePremint(p),
|
|
4864
|
-
create1155: (p) => create1155CreatorClient.
|
|
4960
|
+
create1155: (p) => create1155CreatorClient.createNew1155(p),
|
|
4961
|
+
create1155OnExistingContract: (p) => create1155CreatorClient.createNew1155OnExistingContract(p)
|
|
4865
4962
|
};
|
|
4866
4963
|
}
|
|
4867
4964
|
function createCollectorClient(params) {
|
|
@@ -4890,7 +4987,7 @@ function isArweaveURL(url) {
|
|
|
4890
4987
|
return url && typeof url === "string" ? url.startsWith("ar://") : false;
|
|
4891
4988
|
}
|
|
4892
4989
|
|
|
4893
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
4990
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/bytes.js
|
|
4894
4991
|
var empty = new Uint8Array(0);
|
|
4895
4992
|
function equals(aa, bb) {
|
|
4896
4993
|
if (aa === bb)
|
|
@@ -4916,7 +5013,7 @@ function coerce4(o) {
|
|
|
4916
5013
|
throw new Error("Unknown type, must be binary type");
|
|
4917
5014
|
}
|
|
4918
5015
|
|
|
4919
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5016
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/vendor/base-x.js
|
|
4920
5017
|
function base2(ALPHABET, name) {
|
|
4921
5018
|
if (ALPHABET.length >= 255) {
|
|
4922
5019
|
throw new TypeError("Alphabet too long");
|
|
@@ -5052,7 +5149,7 @@ var src = base2;
|
|
|
5052
5149
|
var _brrp__multiformats_scope_baseX = src;
|
|
5053
5150
|
var base_x_default = _brrp__multiformats_scope_baseX;
|
|
5054
5151
|
|
|
5055
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5152
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/bases/base.js
|
|
5056
5153
|
var Encoder = class {
|
|
5057
5154
|
constructor(name, prefix, baseEncode) {
|
|
5058
5155
|
__publicField(this, "name");
|
|
@@ -5223,7 +5320,7 @@ function rfc4648({ name, prefix, bitsPerChar, alphabet }) {
|
|
|
5223
5320
|
});
|
|
5224
5321
|
}
|
|
5225
5322
|
|
|
5226
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5323
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/bases/base32.js
|
|
5227
5324
|
var base32 = rfc4648({
|
|
5228
5325
|
prefix: "b",
|
|
5229
5326
|
name: "base32",
|
|
@@ -5279,7 +5376,7 @@ var base32z = rfc4648({
|
|
|
5279
5376
|
bitsPerChar: 5
|
|
5280
5377
|
});
|
|
5281
5378
|
|
|
5282
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5379
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/bases/base58.js
|
|
5283
5380
|
var base58btc = baseX({
|
|
5284
5381
|
name: "base58btc",
|
|
5285
5382
|
prefix: "z",
|
|
@@ -5291,7 +5388,7 @@ var base58flickr = baseX({
|
|
|
5291
5388
|
alphabet: "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
|
|
5292
5389
|
});
|
|
5293
5390
|
|
|
5294
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5391
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/vendor/varint.js
|
|
5295
5392
|
var encode_1 = encode2;
|
|
5296
5393
|
var MSB = 128;
|
|
5297
5394
|
var REST = 127;
|
|
@@ -5350,7 +5447,7 @@ var varint = {
|
|
|
5350
5447
|
var _brrp_varint = varint;
|
|
5351
5448
|
var varint_default = _brrp_varint;
|
|
5352
5449
|
|
|
5353
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5450
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/varint.js
|
|
5354
5451
|
function decode3(data, offset = 0) {
|
|
5355
5452
|
const code = varint_default.decode(data, offset);
|
|
5356
5453
|
return [code, varint_default.decode.bytes];
|
|
@@ -5363,7 +5460,7 @@ function encodingLength(int) {
|
|
|
5363
5460
|
return varint_default.encodingLength(int);
|
|
5364
5461
|
}
|
|
5365
5462
|
|
|
5366
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5463
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/hashes/digest.js
|
|
5367
5464
|
function create(code, digest) {
|
|
5368
5465
|
const size = digest.byteLength;
|
|
5369
5466
|
const sizeOffset = encodingLength(code);
|
|
@@ -5408,7 +5505,7 @@ var Digest = class {
|
|
|
5408
5505
|
}
|
|
5409
5506
|
};
|
|
5410
5507
|
|
|
5411
|
-
// ../../node_modules/.pnpm/multiformats@13.2.
|
|
5508
|
+
// ../../node_modules/.pnpm/multiformats@13.2.1/node_modules/multiformats/dist/src/cid.js
|
|
5412
5509
|
function format(link, base3) {
|
|
5413
5510
|
const { bytes, version } = link;
|
|
5414
5511
|
switch (version) {
|
|
@@ -6107,6 +6204,7 @@ export {
|
|
|
6107
6204
|
encodePremintForAPI,
|
|
6108
6205
|
generateTextNftMetadataFiles,
|
|
6109
6206
|
getApiNetworkConfigForChain,
|
|
6207
|
+
getContractAddressFromReceipt,
|
|
6110
6208
|
getDataFromPremintReceipt,
|
|
6111
6209
|
getDefaultFixedPriceMinterAddress,
|
|
6112
6210
|
getMintsAccountBalanceWithPriceQuery,
|
|
@@ -6124,6 +6222,7 @@ export {
|
|
|
6124
6222
|
isPremintConfigV1,
|
|
6125
6223
|
isPremintConfigV2,
|
|
6126
6224
|
isValidSignature,
|
|
6225
|
+
makeCreateContractAndTokenCall,
|
|
6127
6226
|
makeMediaTokenMetadata,
|
|
6128
6227
|
makeMintRewardsRecipient,
|
|
6129
6228
|
makeNewPremint,
|