@credenza3/contracts-lib-sui 0.2.11 → 0.2.12

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.
@@ -828,11 +828,11 @@ var require_baseGet = __commonJS({
828
828
  var require_get = __commonJS({
829
829
  "node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/get.js"(exports, module2) {
830
830
  var baseGet = require_baseGet();
831
- function get8(object, path, defaultValue) {
831
+ function get9(object, path, defaultValue) {
832
832
  var result = object == null ? void 0 : baseGet(object, path);
833
833
  return result === void 0 ? defaultValue : result;
834
834
  }
835
- module2.exports = get8;
835
+ module2.exports = get9;
836
836
  }
837
837
  });
838
838
 
@@ -3784,7 +3784,7 @@ var require_hasIn = __commonJS({
3784
3784
  var require_baseMatchesProperty = __commonJS({
3785
3785
  "node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseMatchesProperty.js"(exports, module2) {
3786
3786
  var baseIsEqual = require_baseIsEqual();
3787
- var get8 = require_get();
3787
+ var get9 = require_get();
3788
3788
  var hasIn = require_hasIn();
3789
3789
  var isKey = require_isKey();
3790
3790
  var isStrictComparable = require_isStrictComparable();
@@ -3797,7 +3797,7 @@ var require_baseMatchesProperty = __commonJS({
3797
3797
  return matchesStrictComparable(toKey(path), srcValue);
3798
3798
  }
3799
3799
  return function(object) {
3800
- var objValue = get8(object, path);
3800
+ var objValue = get9(object, path);
3801
3801
  return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
3802
3802
  };
3803
3803
  }
@@ -4133,6 +4133,7 @@ var CredenzaLedger = class extends CredenzaSuiModule {
4133
4133
 
4134
4134
  // src/client/modules/CredenzaLedger/CredenzaMetaLedgerV2.ts
4135
4135
  var import_transactions3 = require("@mysten/sui/transactions");
4136
+ var import_get2 = __toESM(require_get());
4136
4137
  var CredenzaMetaLedgerV2 = class extends CredenzaSuiModule {
4137
4138
  async addPoints(userAddress, amount, eventId, meta = "") {
4138
4139
  const tx = new import_transactions3.Transaction();
@@ -4156,12 +4157,16 @@ var CredenzaMetaLedgerV2 = class extends CredenzaSuiModule {
4156
4157
  });
4157
4158
  return this.client.signAndExecuteTransaction(tx);
4158
4159
  }
4159
- async convertPointsToCRED(amount) {
4160
+ async convertPointsToCoins(amount) {
4160
4161
  const tx = new import_transactions3.Transaction();
4162
+ const coinType = await this.getConvertableCoinType();
4163
+ if (!coinType) {
4164
+ throw new Error(`Ledger Contract does not have coin set to convert points into`);
4165
+ }
4161
4166
  tx.moveCall({
4162
4167
  target: `${this.client.getPackageId()}::credenza_meta_loyalty_v2::convert_points_to_coins`,
4163
4168
  arguments: [tx.object(await this.getLoyaltyConfig()), tx.pure.u64(amount)],
4164
- typeArguments: [this.client.CRED.getCredType()]
4169
+ typeArguments: [coinType]
4165
4170
  });
4166
4171
  return this.client.signAndExecuteTransaction(tx);
4167
4172
  }
@@ -4228,11 +4233,35 @@ var CredenzaMetaLedgerV2 = class extends CredenzaSuiModule {
4228
4233
  });
4229
4234
  return this.client.signAndExecuteTransaction(tx);
4230
4235
  }
4236
+ async setCoinForConverting(coinId, rate) {
4237
+ const coin = await this.client.getObjectGrpc(coinId);
4238
+ const coinType = coin.object_type.split("<")[1]?.split(">")[0];
4239
+ let oldCoinType = await this.getConvertableCoinType();
4240
+ if (!oldCoinType) {
4241
+ oldCoinType = coinType;
4242
+ }
4243
+ const tx = new import_transactions3.Transaction();
4244
+ tx.moveCall({
4245
+ target: `${this.client.getPackageId()}::credenza_meta_loyalty_v2::set_coin`,
4246
+ arguments: [tx.object(await this.getLoyaltyConfig()), tx.object(coinId), tx.pure.u64(rate)],
4247
+ typeArguments: [oldCoinType, coinType]
4248
+ });
4249
+ return this.client.signAndExecuteTransaction(tx);
4250
+ }
4251
+ async getConvertableCoinType() {
4252
+ const config = await this.client.getObjectGrpc(await this.getLoyaltyConfig());
4253
+ let ret = null;
4254
+ if (parseInt((0, import_get2.default)(config, "json.coin.size"))) {
4255
+ const fieldData = await this.client.getDynamicFields((0, import_get2.default)(config, "json.coin.id"));
4256
+ ret = (0, import_get2.default)(fieldData, "0.type").split("object::ID,")[1].split("<")[1].split(">")[0];
4257
+ }
4258
+ return ret;
4259
+ }
4231
4260
  };
4232
4261
 
4233
4262
  // src/client/modules/CredenzaMembership.ts
4234
4263
  var import_transactions4 = require("@mysten/sui/transactions");
4235
- var import_get2 = __toESM(require_get());
4264
+ var import_get3 = __toESM(require_get());
4236
4265
  var import_isNil = __toESM(require_isNil());
4237
4266
  var CredenzaMembership = class extends CredenzaSuiModule {
4238
4267
  async addMembership(userAddress, metadata) {
@@ -4346,7 +4375,7 @@ var CredenzaMembership = class extends CredenzaSuiModule {
4346
4375
  async getOwners() {
4347
4376
  const id = await this.getMembershipListId();
4348
4377
  const data = await this.client.getObjectGrpc(id);
4349
- return (0, import_get2.default)(data, "json.ownership.owners.contents");
4378
+ return (0, import_get3.default)(data, "json.ownership.owners.contents");
4350
4379
  }
4351
4380
  async setOwner(recipient, isOwner) {
4352
4381
  const tx = new import_transactions4.Transaction();
@@ -4360,7 +4389,7 @@ var CredenzaMembership = class extends CredenzaSuiModule {
4360
4389
 
4361
4390
  // src/client/modules/CredenzaDecom.ts
4362
4391
  var import_transactions5 = require("@mysten/sui/transactions");
4363
- var import_get3 = __toESM(require_get());
4392
+ var import_get4 = __toESM(require_get());
4364
4393
  var CredenzaDecom = class extends CredenzaSuiModule {
4365
4394
  getDecomType() {
4366
4395
  return `${this.client.getPackageId()}::decom::DECOM`;
@@ -4410,12 +4439,12 @@ var CredenzaDecom = class extends CredenzaSuiModule {
4410
4439
  async getOwnerRenderData() {
4411
4440
  const capId = await this.getAdminCap();
4412
4441
  const data = await this.client.getObjectGrpc(capId);
4413
- return (0, import_get3.default)(data, "json.owner_render_data");
4442
+ return (0, import_get4.default)(data, "json.owner_render_data");
4414
4443
  }
4415
4444
  async getRenderData() {
4416
4445
  const capId = await this.getAdminCap();
4417
4446
  const data = await this.client.getObjectGrpc(capId);
4418
- return (0, import_get3.default)(data, "json.render_data");
4447
+ return (0, import_get4.default)(data, "json.render_data");
4419
4448
  }
4420
4449
  async writeRenderData(data) {
4421
4450
  const tx = new import_transactions5.Transaction();
@@ -4469,7 +4498,7 @@ var CredenzaDecom = class extends CredenzaSuiModule {
4469
4498
  async getOwners() {
4470
4499
  const capId = await this.getAdminCap();
4471
4500
  const data = await this.client.getObjectGrpc(capId);
4472
- return (0, import_get3.default)(data, "json.ownership.owners.contents");
4501
+ return (0, import_get4.default)(data, "json.ownership.owners.contents");
4473
4502
  }
4474
4503
  async setOwner(recipient, isOwner) {
4475
4504
  const tx = new import_transactions5.Transaction();
@@ -4493,7 +4522,7 @@ var CredenzaDecom = class extends CredenzaSuiModule {
4493
4522
  // src/client/modules/Sellable.ts
4494
4523
  var import_transactions6 = require("@mysten/sui/transactions");
4495
4524
  var import_buffer = __toESM(require_buffer());
4496
- var import_get4 = __toESM(require_get());
4525
+ var import_get5 = __toESM(require_get());
4497
4526
  var Sellable = class extends CredenzaSuiModule {
4498
4527
  async getSellConfig(assetType) {
4499
4528
  const id = await this.client.graphqlClient.findSharedObjectByType(
@@ -4513,9 +4542,9 @@ var Sellable = class extends CredenzaSuiModule {
4513
4542
  let oldCoinType = coinType;
4514
4543
  const config = await this.client.getObjectGrpc(sellConfig);
4515
4544
  const sellableType = await this.getSellableType(sellConfig);
4516
- if (parseInt((0, import_get4.default)(config, "json.coin.size"))) {
4517
- const fieldData = await this.client.getDynamicFields((0, import_get4.default)(config, "json.coin.id"));
4518
- oldCoinType = (0, import_get4.default)(fieldData, "0.type").split("object::ID,")[1].split("<")[1].split(">")[0];
4545
+ if (parseInt((0, import_get5.default)(config, "json.coin.size"))) {
4546
+ const fieldData = await this.client.getDynamicFields((0, import_get5.default)(config, "json.coin.id"));
4547
+ oldCoinType = (0, import_get5.default)(fieldData, "0.type").split("object::ID,")[1].split("<")[1].split(">")[0];
4519
4548
  }
4520
4549
  const tx = new import_transactions6.Transaction();
4521
4550
  tx.moveCall({
@@ -4614,14 +4643,14 @@ var Sellable = class extends CredenzaSuiModule {
4614
4643
  currency
4615
4644
  }) {
4616
4645
  const obj = await this.client.getObjectGrpc(sellConfig);
4617
- const fields = await this.client.getDynamicFields((0, import_get4.default)(obj, "json.asset_prices.id"));
4646
+ const fields = await this.client.getDynamicFields((0, import_get5.default)(obj, "json.asset_prices.id"));
4618
4647
  for (const field of fields) {
4619
4648
  if (field.name === `${assetId}`) {
4620
4649
  if (!currency) {
4621
- return parseInt((0, import_get4.default)(field, "value.price_fiat"));
4650
+ return parseInt((0, import_get5.default)(field, "value.price_fiat"));
4622
4651
  } else {
4623
4652
  const assetPriceForCurrenciesFields = await this.client.getDynamicFields(
4624
- (0, import_get4.default)(field, "value.price_fiat_for_currency.id")
4653
+ (0, import_get5.default)(field, "value.price_fiat_for_currency.id")
4625
4654
  );
4626
4655
  for (const assetPriceForCurrencyField of assetPriceForCurrenciesFields) {
4627
4656
  if (import_buffer.Buffer.from(assetPriceForCurrencyField.name, "base64").toString("utf-8") === currency) {
@@ -4635,10 +4664,10 @@ var Sellable = class extends CredenzaSuiModule {
4635
4664
  }
4636
4665
  async getPriceFiat(sellConfig, currency) {
4637
4666
  const obj = await this.client.getObjectGrpc(sellConfig);
4638
- if (!currency || !(0, import_get4.default)(obj, "json.price_fiat_for_currency.id") && currency === "USD") {
4639
- return parseInt((0, import_get4.default)(obj, "json.price_fiat")) ?? null;
4667
+ if (!currency || !(0, import_get5.default)(obj, "json.price_fiat_for_currency.id") && currency === "USD") {
4668
+ return parseInt((0, import_get5.default)(obj, "json.price_fiat")) ?? null;
4640
4669
  } else {
4641
- const fields = await this.client.getDynamicFields((0, import_get4.default)(obj, "json.price_fiat_for_currency.id"));
4670
+ const fields = await this.client.getDynamicFields((0, import_get5.default)(obj, "json.price_fiat_for_currency.id"));
4642
4671
  for (const field of fields) {
4643
4672
  if (import_buffer.Buffer.from(field.name, "base64").toString("utf-8") === currency) {
4644
4673
  return parseInt(field.value) ?? 0;
@@ -4649,20 +4678,20 @@ var Sellable = class extends CredenzaSuiModule {
4649
4678
  }
4650
4679
  async getAssetPriceCoin({ sellConfig, assetId }) {
4651
4680
  const obj = await this.client.getObjectGrpc(sellConfig);
4652
- const fields = await this.client.getDynamicFields((0, import_get4.default)(obj, "json.asset_prices.id"));
4681
+ const fields = await this.client.getDynamicFields((0, import_get5.default)(obj, "json.asset_prices.id"));
4653
4682
  for (const field of fields) {
4654
4683
  if (field.name === `${assetId}`) {
4655
- return parseInt((0, import_get4.default)(field, "value.price_coin"));
4684
+ return parseInt((0, import_get5.default)(field, "value.price_coin"));
4656
4685
  }
4657
4686
  }
4658
4687
  return 0;
4659
4688
  }
4660
4689
  async getAssetPriceSui({ sellConfig, assetId }) {
4661
4690
  const obj = await this.client.getObjectGrpc(sellConfig);
4662
- const fields = await this.client.getDynamicFields((0, import_get4.default)(obj, "json.asset_prices.id"));
4691
+ const fields = await this.client.getDynamicFields((0, import_get5.default)(obj, "json.asset_prices.id"));
4663
4692
  for (const field of fields) {
4664
4693
  if (field.name === `${assetId}`) {
4665
- return parseInt((0, import_get4.default)(field, "value.price_sui"));
4694
+ return parseInt((0, import_get5.default)(field, "value.price_sui"));
4666
4695
  }
4667
4696
  }
4668
4697
  return 0;
@@ -4684,7 +4713,7 @@ var Sellable = class extends CredenzaSuiModule {
4684
4713
 
4685
4714
  // src/client/modules/CredenzaAssetCollection.ts
4686
4715
  var import_transactions7 = require("@mysten/sui/transactions");
4687
- var import_get5 = __toESM(require_get());
4716
+ var import_get6 = __toESM(require_get());
4688
4717
  var import_filter = __toESM(require_filter());
4689
4718
  var CredenzaAssetCollection = class extends CredenzaSuiModule {
4690
4719
  getAssetCollectionType() {
@@ -4808,7 +4837,7 @@ var CredenzaAssetCollection = class extends CredenzaSuiModule {
4808
4837
  }
4809
4838
  async getAssetMetadata(assetId) {
4810
4839
  const collectionMeta = await this.getCollectionMetadata();
4811
- const tableId = (0, import_get5.default)(collectionMeta, "json.assets.contents.id");
4840
+ const tableId = (0, import_get6.default)(collectionMeta, "json.assets.contents.id");
4812
4841
  const fields = await this.client.getDynamicFields(tableId);
4813
4842
  for (const field of fields) {
4814
4843
  if (field.name === `${assetId - 1}`) {
@@ -4821,8 +4850,8 @@ var CredenzaAssetCollection = class extends CredenzaSuiModule {
4821
4850
  const objects = await this.client.getOwnedObjectsGrpc(user, this.getAssetType());
4822
4851
  let balance = 0;
4823
4852
  for (const item of objects) {
4824
- if ((0, import_get5.default)(item, "json.asset_id") === `${assetId}`) {
4825
- balance += parseInt((0, import_get5.default)(item, "json.balance"));
4853
+ if ((0, import_get6.default)(item, "json.asset_id") === `${assetId}`) {
4854
+ balance += parseInt((0, import_get6.default)(item, "json.balance"));
4826
4855
  }
4827
4856
  }
4828
4857
  return balance;
@@ -4891,23 +4920,23 @@ var CredenzaAssetCollection = class extends CredenzaSuiModule {
4891
4920
  }
4892
4921
  async getAssetsIds() {
4893
4922
  const collectionMeta = await this.getCollectionMetadata();
4894
- const tableId = (0, import_get5.default)(collectionMeta, "json.assets.contents.id");
4923
+ const tableId = (0, import_get6.default)(collectionMeta, "json.assets.contents.id");
4895
4924
  const fields = await this.client.getDynamicFields(tableId);
4896
4925
  return fields.map((field) => parseInt(field.value?.["asset_id"])).sort();
4897
4926
  }
4898
4927
  async getOwners() {
4899
4928
  const collectionMeta = await this.getCollectionMetadata();
4900
- return (0, import_get5.default)(collectionMeta, "json.ownership.owners.contents");
4929
+ return (0, import_get6.default)(collectionMeta, "json.ownership.owners.contents");
4901
4930
  }
4902
4931
  async sendAsset(assetId, amount, target) {
4903
4932
  await this.mergeAssets(assetId);
4904
4933
  const objects = await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(), this.getAssetType());
4905
- const assets = (0, import_filter.default)(objects, (item) => (0, import_get5.default)(item, "json.asset_id") === `${assetId}`);
4934
+ const assets = (0, import_filter.default)(objects, (item) => (0, import_get6.default)(item, "json.asset_id") === `${assetId}`);
4906
4935
  if (assets.length === 0) {
4907
4936
  throw new Error("You dont have asset to send");
4908
4937
  }
4909
4938
  const asset = assets[0];
4910
- const assetBalance = parseInt((0, import_get5.default)(asset, "json.balance") + "");
4939
+ const assetBalance = parseInt((0, import_get6.default)(asset, "json.balance") + "");
4911
4940
  if (assetBalance < amount) {
4912
4941
  throw new Error("Not enough asset balance");
4913
4942
  }
@@ -4931,7 +4960,7 @@ var CredenzaAssetCollection = class extends CredenzaSuiModule {
4931
4960
  let assets;
4932
4961
  do {
4933
4962
  const objects = await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(), this.getAssetType());
4934
- assets = (0, import_filter.default)(objects, (item) => (0, import_get5.default)(item, "json.asset_id") === `${assetId}`);
4963
+ assets = (0, import_filter.default)(objects, (item) => (0, import_get6.default)(item, "json.asset_id") === `${assetId}`);
4935
4964
  if (assets.length > 1) {
4936
4965
  const res = await this.join(assets[0].object_id, assets[1].object_id);
4937
4966
  await this.client.waitForTransaction(res.digest);
@@ -4942,7 +4971,7 @@ var CredenzaAssetCollection = class extends CredenzaSuiModule {
4942
4971
 
4943
4972
  // src/client/modules/CredenzaAirdrop.ts
4944
4973
  var import_transactions8 = require("@mysten/sui/transactions");
4945
- var import_get6 = __toESM(require_get());
4974
+ var import_get7 = __toESM(require_get());
4946
4975
  var CredenzaAirdrop = class extends CredenzaSuiModule {
4947
4976
  async getCreatedConfigs() {
4948
4977
  const configs = await this.client.graphqlClient.findSharedObjectsByType(
@@ -4992,9 +5021,9 @@ var CredenzaAirdrop = class extends CredenzaSuiModule {
4992
5021
  }
4993
5022
  async getAirdropCoinType(configId) {
4994
5023
  const config = await this.client.getObjectGrpc(configId);
4995
- const size = parseInt((0, import_get6.default)(config, "json.items.size") ?? "0");
5024
+ const size = parseInt((0, import_get7.default)(config, "json.items.size") ?? "0");
4996
5025
  if (!size) return null;
4997
- const tableId = (0, import_get6.default)(config, "json.items.id");
5026
+ const tableId = (0, import_get7.default)(config, "json.items.id");
4998
5027
  const fieldData = await this.client.getDynamicFields(tableId);
4999
5028
  for (const item of fieldData) {
5000
5029
  const objectType = item.type;
@@ -5006,9 +5035,9 @@ var CredenzaAirdrop = class extends CredenzaSuiModule {
5006
5035
  }
5007
5036
  async getAirdropAssetType(configId) {
5008
5037
  const config = await this.client.getObjectGrpc(configId);
5009
- const size = parseInt((0, import_get6.default)(config, "json.items.size") ?? "0");
5038
+ const size = parseInt((0, import_get7.default)(config, "json.items.size") ?? "0");
5010
5039
  if (!size) return null;
5011
- const tableId = (0, import_get6.default)(config, "json.items.id");
5040
+ const tableId = (0, import_get7.default)(config, "json.items.id");
5012
5041
  const fieldData = await this.client.getDynamicFields(tableId);
5013
5042
  for (const item of fieldData) {
5014
5043
  const res = item.type.split("object::ID,")[1];
@@ -5045,7 +5074,7 @@ var CredenzaAirdrop = class extends CredenzaSuiModule {
5045
5074
 
5046
5075
  // src/client/modules/CredenzaDeposit.ts
5047
5076
  var import_transactions9 = require("@mysten/sui/transactions");
5048
- var import_get7 = __toESM(require_get());
5077
+ var import_get8 = __toESM(require_get());
5049
5078
  var CredenzaDeposit = class extends CredenzaSuiModule {
5050
5079
  async getCreatedConfigs() {
5051
5080
  return await this.client.graphqlClient.findSharedObjectsByType(
@@ -5062,9 +5091,9 @@ var CredenzaDeposit = class extends CredenzaSuiModule {
5062
5091
  }
5063
5092
  async getDepositedCoinType(configId) {
5064
5093
  const config = await this.client.getObjectGrpc(configId);
5065
- const size = parseInt((0, import_get7.default)(config, "json.coin.size") ?? "0");
5094
+ const size = parseInt((0, import_get8.default)(config, "json.coin.size") ?? "0");
5066
5095
  if (!size) return null;
5067
- const tableId = (0, import_get7.default)(config, "json.coin.id");
5096
+ const tableId = (0, import_get8.default)(config, "json.coin.id");
5068
5097
  const fieldData = await this.client.getDynamicFields(tableId);
5069
5098
  for (const item of fieldData) {
5070
5099
  const objectType = item.type;
@@ -5116,7 +5145,7 @@ var CredenzaDeposit = class extends CredenzaSuiModule {
5116
5145
  }
5117
5146
  async isAuthorizedUser(configId, recipient) {
5118
5147
  const config = await this.client.getObjectGrpc(configId);
5119
- return (0, import_get7.default)(config, "json.authorized_users.contents").includes(recipient);
5148
+ return (0, import_get8.default)(config, "json.authorized_users.contents").includes(recipient);
5120
5149
  }
5121
5150
  async requestCoin(configId, amount) {
5122
5151
  const coinType = await this.getDepositedCoinType(configId);