emblem-vault-sdk 2.3.6 → 3.0.0-experimental

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.
Files changed (147) hide show
  1. package/.traces/blockchain-provider-abstraction-plan.md +302 -0
  2. package/.traces/notes.md +43 -0
  3. package/.traces/readme-verification-trace.md +988 -0
  4. package/.traces/test-migration-status.md +227 -0
  5. package/.traces/tests-consolidated-trace.md +667 -0
  6. package/dist/abi/abi.json +53 -0
  7. package/dist/bundle.js +21602 -17419
  8. package/dist/clients/emblemVaultSolanaWalletClient.d.ts +74 -0
  9. package/dist/clients/emblemVaultSolanaWalletClient.js +149 -0
  10. package/dist/clients/emblemVaultSolanaWalletClient.js.map +1 -0
  11. package/dist/clients/emblemVaultWalletClient.d.ts +52 -0
  12. package/dist/clients/emblemVaultWalletClient.js +110 -0
  13. package/dist/clients/emblemVaultWalletClient.js.map +1 -0
  14. package/dist/derive.js +7 -0
  15. package/dist/derive.js.map +1 -0
  16. package/dist/index.js +319 -114
  17. package/dist/index.js.map +1 -0
  18. package/dist/providers/ProviderManager.d.ts +57 -0
  19. package/dist/providers/ProviderManager.js +283 -0
  20. package/dist/providers/ProviderManager.js.map +1 -0
  21. package/dist/providers.d.ts +101 -0
  22. package/dist/providers.js +96 -0
  23. package/dist/providers.js.map +1 -0
  24. package/dist/types.js +1 -0
  25. package/dist/types.js.map +1 -0
  26. package/dist/utils.js +61 -58
  27. package/dist/utils.js.map +1 -0
  28. package/docs/bundle.js +21602 -17419
  29. package/docs/index.html +150 -13
  30. package/docs/local.html +385 -0
  31. package/docs/steps.html +420 -53
  32. package/package.json +22 -13
  33. package/readme.md +795 -21
  34. package/src/abi/abi.json +54 -1
  35. package/src/clients/emblemVaultSolanaWalletClient.ts +257 -0
  36. package/src/clients/emblemVaultWalletClient.ts +159 -0
  37. package/src/derive.ts +5 -5
  38. package/src/index.ts +320 -102
  39. package/src/providers/ProviderManager.ts +254 -0
  40. package/src/providers.ts +163 -0
  41. package/src/types.ts +50 -0
  42. package/src/utils.ts +63 -62
  43. package/test/.mocharc.js +8 -0
  44. package/test/README.md +212 -0
  45. package/test/fixtures/ethscriptions/balance-with-native-first.json +24 -0
  46. package/test/fixtures/ethscriptions/balance-with-native.json +23 -0
  47. package/test/fixtures/ethscriptions/balance.json +18 -0
  48. package/test/helpers/sdkLoader.js +88 -0
  49. package/test/helpers/setup.js +55 -0
  50. package/test/integration/ApiOperations.spec.js +102 -0
  51. package/test/integration/VaultAI.spec.js +57 -0
  52. package/test/integration/VaultCreation.spec.js +95 -0
  53. package/test/mocks.js +127 -0
  54. package/test/tsconfig.json +25 -0
  55. package/test/unit/AllowedBells.spec.js +53 -0
  56. package/test/unit/AllowedBitcoinDeGods.spec.js +53 -0
  57. package/test/unit/AllowedBitcoinOrdinals.spec.js +46 -0
  58. package/test/unit/AllowedCounterparty.spec.js +66 -0
  59. package/test/unit/AllowedCursedOrdinals.spec.js +68 -0
  60. package/test/unit/AllowedEmbells.spec.js +11 -0
  61. package/test/unit/AllowedEmbels.spec.js +11 -0
  62. package/test/unit/AllowedEmblemOpen.spec.js +20 -0
  63. package/test/unit/AllowedEthscriptions.spec.js +53 -0
  64. package/test/unit/AllowedHardcodedNfts.spec.js +77 -0
  65. package/test/unit/AllowedNamecoin.spec.js +33 -0
  66. package/test/unit/AllowedOrdi.spec.js +46 -0
  67. package/test/unit/AllowedOxbt.spec.js +46 -0
  68. package/test/unit/AllowedProjectCollection.spec.js +51 -0
  69. package/test/unit/AllowedProtocolCollection.spec.js +44 -0
  70. package/test/unit/AllowedStamps.spec.js +78 -0
  71. package/test/unit/DarkfarmsMetadata.spec.js +10 -0
  72. package/test/unit/EmblemVaultSdk.spec.js +188 -0
  73. package/test/unit/Providers.spec.js +290 -0
  74. package/test/unit/ResourceMonitor.spec.js +111 -0
  75. package/test/unit/SDKMemoryLeaks.spec.js +176 -0
  76. package/test/unit/Signing.spec.js +321 -0
  77. package/test/unit/VaultAI.spec.js +140 -0
  78. package/test/unit/clients/EmblemVaultSolanaWalletClient.spec.js +296 -0
  79. package/test/unit/clients/EmblemVaultWalletClient.spec.js +246 -0
  80. package/test/utils/ResourceMonitor.js +169 -0
  81. package/test/windsurf-rules.md +68 -0
  82. package/tsconfig.json +7 -3
  83. package/types/derive.d.ts +0 -5
  84. package/types/index.d.ts +152 -32
  85. package/types/types.d.ts +43 -0
  86. package/types/utils.d.ts +7 -1
  87. package/dist/abi/quote.js +0 -29
  88. package/dist/abi/quote.json +0 -26
  89. package/jest.config.js +0 -6
  90. package/tests/AllowedBells.test.ts +0 -53
  91. package/tests/AllowedBitcoinDeGods.test.ts +0 -53
  92. package/tests/AllowedBitcoinOrdinals.test.ts +0 -46
  93. package/tests/AllowedCounterparty.test.ts +0 -45
  94. package/tests/AllowedCursedOrdinals.test.ts +0 -68
  95. package/tests/AllowedEmbells.test.ts +0 -12
  96. package/tests/AllowedEmbels.test.ts +0 -16
  97. package/tests/AllowedEmblemOpen.test.ts +0 -20
  98. package/tests/AllowedEthscriptions.test.ts +0 -39
  99. package/tests/AllowedHardcodedNfts.test.ts +0 -78
  100. package/tests/AllowedNamecoin.test.ts +0 -33
  101. package/tests/AllowedOrdi.test.ts +0 -47
  102. package/tests/AllowedOxbt.test.ts +0 -47
  103. package/tests/AllowedProjectlCollection.test.ts +0 -51
  104. package/tests/AllowedProtocolCollection.test.ts +0 -44
  105. package/tests/AllowedStamps.test.ts +0 -73
  106. package/tests/DarkfarmsMetadata.test.ts +0 -10
  107. package/tests/EmblemVaultSdk.test.ts +0 -124
  108. package/tests/fixtures/embels/balance.json +0 -10
  109. package/tests/fixtures/ethscriptions/balance-with-native-first.json +0 -69
  110. package/tests/fixtures/ethscriptions/balance-with-native.json +0 -37
  111. package/tests/fixtures/ethscriptions/balance.json +0 -64
  112. /package/{tests → test}/fixtures/bells/balance-with-non-bell-first.json +0 -0
  113. /package/{tests → test}/fixtures/bells/balance-with-non-bell.json +0 -0
  114. /package/{tests → test}/fixtures/bells/balance.json +0 -0
  115. /package/{tests → test}/fixtures/bitcoin-degods/balance-with-non-degods-first.json +0 -0
  116. /package/{tests → test}/fixtures/bitcoin-degods/balance-with-non-degods.json +0 -0
  117. /package/{tests → test}/fixtures/bitcoin-degods/balance.json +0 -0
  118. /package/{tests → test}/fixtures/bitcoin-ordinals/balance-with-native-first.json +0 -0
  119. /package/{tests → test}/fixtures/bitcoin-ordinals/balance-with-only-native.json +0 -0
  120. /package/{tests → test}/fixtures/bitcoin-ordinals/balance.json +0 -0
  121. /package/{tests → test}/fixtures/counterparty/balance-with-multiple.json +0 -0
  122. /package/{tests → test}/fixtures/counterparty/balance.json +0 -0
  123. /package/{tests → test}/fixtures/cursed-ordinals/balance-with-native-first.json +0 -0
  124. /package/{tests → test}/fixtures/cursed-ordinals/balance-with-native.json +0 -0
  125. /package/{tests → test}/fixtures/cursed-ordinals/balance.json +0 -0
  126. /package/{tests → test}/fixtures/dogeparty/balance-with-non-dogeparty-first.json +0 -0
  127. /package/{tests → test}/fixtures/dogeparty/balance-with-non-dogeparty.json +0 -0
  128. /package/{tests → test}/fixtures/dogeparty/balance.json +0 -0
  129. /package/{tests → test}/fixtures/emblem-open/balance.json +0 -0
  130. /package/{tests → test}/fixtures/hardcoded-nfts/balance-witn-non-hardcoded-first.json +0 -0
  131. /package/{tests → test}/fixtures/hardcoded-nfts/balance-witn-non-hardcoded.json +0 -0
  132. /package/{tests → test}/fixtures/hardcoded-nfts/balance.json +0 -0
  133. /package/{tests → test}/fixtures/megapunks/balance-with-non-megapunk-first.json +0 -0
  134. /package/{tests → test}/fixtures/megapunks/balance-with-non-megapunk.json +0 -0
  135. /package/{tests → test}/fixtures/megapunks/balance.json +0 -0
  136. /package/{tests → test}/fixtures/namecoin/balance-with-native-first.json +0 -0
  137. /package/{tests → test}/fixtures/namecoin/balance-with-native.json +0 -0
  138. /package/{tests → test}/fixtures/namecoin/balance.json +0 -0
  139. /package/{tests → test}/fixtures/ordi/balance-with-native-first.json +0 -0
  140. /package/{tests → test}/fixtures/ordi/balance-with-native.json +0 -0
  141. /package/{tests → test}/fixtures/ordi/balance.json +0 -0
  142. /package/{tests → test}/fixtures/oxbt/balance-with-native-first.json +0 -0
  143. /package/{tests → test}/fixtures/oxbt/balance-with-native.json +0 -0
  144. /package/{tests → test}/fixtures/oxbt/balance.json +0 -0
  145. /package/{tests → test}/fixtures/stamps/balance-with-non-stamps-first.json +0 -0
  146. /package/{tests → test}/fixtures/stamps/balance-with-non-stamps.json +0 -0
  147. /package/{tests → test}/fixtures/stamps/balance.json +0 -0
package/dist/utils.js CHANGED
@@ -34,6 +34,7 @@ const abi_json_1 = __importDefault(require("./abi/abi.json"));
34
34
  const sats_connect_1 = require("sats-connect");
35
35
  // import { phrasePathToKey } from './derive'
36
36
  exports.NFT_DATA = Object.assign(metadata_json_1.default, darkfarms_metadata_json_1.default, dot_id_json_1.default);
37
+ // console.log(NFT_DATA);
37
38
  // PROJECTS_DATA is list of projects i.e. curated collection names
38
39
  // that are present in metadataJson file
39
40
  const PROJECTS_DATA = projectsFromMetadataJson();
@@ -358,23 +359,15 @@ function generateTemplate(record) {
358
359
  if (!allowed) {
359
360
  message = `Load vault with exactly ${balanceQty} ${recordName}`;
360
361
  }
361
- // } else if (recordName == "Counterparty") {
362
- // let facts = [
363
- // {
364
- // eval: record.nativeAssets.includes(data[0]?.coin),
365
- // msg: `Vaults should only contain assets native to ${recordName}`
366
- // },
367
- // {eval: data.length == 1, msg: `Vaults should only contain a single item`},
368
- // // { eval: data[0].projectName && data[0].projectName == recordName, msg: `Vaults should only contain a single item` }
369
- // ]
370
- // allowed = evaluateFacts(allowed, facts, msgCallback)
371
362
  }
372
363
  else if (recordName == "Stamps") {
373
364
  let allowedName = assetName.toLowerCase().includes("stamp");
374
- allowed = allowedName &&
375
- firstAsset.project &&
376
- record.nativeAssets.includes(firstAsset.coin) &&
377
- (recordName.toLowerCase() == firstAsset.project.toLowerCase() || firstAsset.project.toLowerCase() == "stampunks");
365
+ const hasProject = !!firstAsset.project;
366
+ const isValidCoin = record.nativeAssets.includes(firstAsset.coin);
367
+ const isValidProject = hasProject &&
368
+ (recordName.toLowerCase() === firstAsset.project.toLowerCase() ||
369
+ firstAsset.project.toLowerCase() === "stampunks");
370
+ allowed = allowedName && hasProject && isValidCoin && isValidProject;
378
371
  }
379
372
  else if (recordName == "EmblemOpen") {
380
373
  allowed = true;
@@ -560,7 +553,7 @@ function generateTemplate(record) {
560
553
  if (filtered[0].balance) {
561
554
  balanceDescription = filtered[0].balance;
562
555
  }
563
- else if (filtered) {
556
+ else {
564
557
  balanceDescription = '1';
565
558
  }
566
559
  }
@@ -577,10 +570,10 @@ function generateTemplate(record) {
577
570
  }
578
571
  let viewOnEmblemFinanceLink = '';
579
572
  if (_this.collectionType === "ERC1155") {
580
- viewOnEmblemFinanceLink = `\n\n[View on Emblem.finance](https://emblem.finance/nft2?id=${metadata.targetContract.tokenId})`;
573
+ viewOnEmblemFinanceLink = `\n\n[View on Emblem.finance](https://emblem.vision/vault/${metadata.targetContract.tokenId})`;
581
574
  }
582
575
  else if (_this.collectionType === "ERC721a") {
583
- viewOnEmblemFinanceLink = `\n\n[View on Emblem.finance](https://emblem.finance/nft2?id=${metadata.tokenId})`;
576
+ viewOnEmblemFinanceLink = `\n\n[View on Emblem.finance](https://emblem.vision/vault/${metadata.tokenId})`;
584
577
  }
585
578
  nameAndImage.description = nameAndImage.description + viewOnEmblemFinanceLink;
586
579
  return nameAndImage;
@@ -600,7 +593,6 @@ function generateTemplate(record) {
600
593
  name: _this.loadTypes.includes('detailed') ? { type: "user-provided" } : _this.loadTypes.includes('select') ? { type: "selection-provided" } : "Loading...",
601
594
  image: _this.loadTypes.includes('detailed') ? { type: "user-provided" } : _this.loadTypes.includes('select') ? { type: "selection-provided" } : _this.loading(),
602
595
  description: _this.loadTypes.includes('detailed') ? { type: "user-provided" } : null,
603
- ownedImage: _this.loadTypes.includes('detailed') ? { type: "user-provided" } : null,
604
596
  projectName: _this.loadTypes.includes('select') ? _this.name : null
605
597
  }
606
598
  };
@@ -617,6 +609,44 @@ function generateTemplate(record) {
617
609
  };
618
610
  removeNulls(template);
619
611
  return template;
612
+ },
613
+ validateTemplate(template, callback) {
614
+ // Check if template has chainId and if it's valid for this record
615
+ if (!record[template.chainId]) {
616
+ return callback({ valid: false, errors: [`Collection ${record.name} not minted on chainId ${template.chainId}`] });
617
+ }
618
+ // Check if image is valid
619
+ if (template.targetAsset && template.targetAsset.image && typeof template.targetAsset.image === 'string') {
620
+ return checkContentType(template.targetAsset.image).then((imageResult) => {
621
+ if (!imageResult.valid) {
622
+ return callback({ valid: false, errors: [`Invalid image format`] });
623
+ }
624
+ return checkGuard();
625
+ });
626
+ }
627
+ else {
628
+ return checkGuard();
629
+ }
630
+ function checkGuard() {
631
+ // Perform template structure validation
632
+ const templateValidation = templateGuard(template, { throwError: false, returnErrors: true });
633
+ // If template structure is invalid, return that result
634
+ if (!templateValidation.valid) {
635
+ return callback(templateValidation);
636
+ }
637
+ // If no image to validate, we're done
638
+ if (!template.targetAsset || !template.targetAsset.image) {
639
+ return callback({ valid: true, errors: [] });
640
+ }
641
+ // If we have an image, we need to validate it
642
+ // But since we can't do this synchronously, we'll return an object
643
+ // that indicates the template is structurally valid
644
+ return callback({
645
+ valid: true,
646
+ imageValidation: true,
647
+ imageUrl: template.targetAsset.image
648
+ });
649
+ }
620
650
  }
621
651
  };
622
652
  Object.keys(record.contracts).forEach(key => {
@@ -627,10 +657,17 @@ function generateTemplate(record) {
627
657
  });
628
658
  return template;
629
659
  }
630
- function templateGuard(input) {
660
+ function templateGuard(input, options = { throwError: true, returnErrors: false }) {
631
661
  if (!input)
632
662
  throw new Error(`No template provided`);
663
+ // Remove empty fields
633
664
  for (const key in input) {
665
+ if (!input[key] ||
666
+ input[key] === "" ||
667
+ input[key] === null ||
668
+ input[key] === undefined) {
669
+ delete input[key];
670
+ }
634
671
  if (input.hasOwnProperty(key)) {
635
672
  const value = input[key];
636
673
  // Check if the value is an object and has a "type" property
@@ -656,10 +693,13 @@ function templateGuard(input) {
656
693
  // false is allowed, do nothing
657
694
  }
658
695
  if (errors.length > 0) {
659
- throw new Error(errors.join(", "));
696
+ if (options.throwError)
697
+ throw new Error(errors.join(", "));
698
+ return { valid: false, errors: errors };
660
699
  }
661
700
  }
662
701
  }
702
+ return { valid: true, errors: [] };
663
703
  }
664
704
  function genericGuard(input, type, key) {
665
705
  if (!input)
@@ -737,44 +777,6 @@ function checkContentType(url) {
737
777
  });
738
778
  });
739
779
  }
740
- // export function checkContentType(url: string) {
741
- // return new Promise((resolve, reject) => {
742
- // // Making a HTTP HEAD request to get only the headers
743
- // type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
744
- // let returnVal: ReturnVal = {valid: false};
745
- // function fetchUrl(method: string) {
746
- // fetch(url, { method: method })
747
- // .then(response => {
748
- // if (!response.ok) {
749
- // returnVal.valid = false
750
- // }
751
- // else if (response.status === 200) {
752
- // const contentType = response.headers.get('content-type');
753
- // if (!contentType) {
754
- // return fetchUrl('GET')
755
- // } else {
756
- // let extension = getFileExtensionFromMimeType(contentType)
757
- // returnVal.valid = true
758
- // returnVal.contentType = contentType
759
- // returnVal.extension = extension
760
- // returnVal.method = method
761
- // returnVal.embed = !isValidDirect(extension)
762
- // console.log('Content-Type:', contentType);
763
- // }
764
- // }
765
- // return resolve(returnVal);
766
- // })
767
- // .catch(error => {
768
- // console.error('Error while fetching URL:', error);
769
- // resolve(returnVal);
770
- // });
771
- // }
772
- // try {
773
- // fetchUrl('HEAD');
774
- // } catch (error) {
775
- // }
776
- // });
777
- // }
778
780
  function isValidDirect(extension) {
779
781
  switch (extension) {
780
782
  case '.png':
@@ -941,3 +943,4 @@ function signPSBT(psbtBase64_1, paymentAddress_1, indexes_1) {
941
943
  });
942
944
  });
943
945
  }
946
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}