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.
- package/.traces/blockchain-provider-abstraction-plan.md +302 -0
- package/.traces/notes.md +43 -0
- package/.traces/readme-verification-trace.md +988 -0
- package/.traces/test-migration-status.md +227 -0
- package/.traces/tests-consolidated-trace.md +667 -0
- package/dist/abi/abi.json +53 -0
- package/dist/bundle.js +21602 -17419
- package/dist/clients/emblemVaultSolanaWalletClient.d.ts +74 -0
- package/dist/clients/emblemVaultSolanaWalletClient.js +149 -0
- package/dist/clients/emblemVaultSolanaWalletClient.js.map +1 -0
- package/dist/clients/emblemVaultWalletClient.d.ts +52 -0
- package/dist/clients/emblemVaultWalletClient.js +110 -0
- package/dist/clients/emblemVaultWalletClient.js.map +1 -0
- package/dist/derive.js +7 -0
- package/dist/derive.js.map +1 -0
- package/dist/index.js +319 -114
- package/dist/index.js.map +1 -0
- package/dist/providers/ProviderManager.d.ts +57 -0
- package/dist/providers/ProviderManager.js +283 -0
- package/dist/providers/ProviderManager.js.map +1 -0
- package/dist/providers.d.ts +101 -0
- package/dist/providers.js +96 -0
- package/dist/providers.js.map +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.js +61 -58
- package/dist/utils.js.map +1 -0
- package/docs/bundle.js +21602 -17419
- package/docs/index.html +150 -13
- package/docs/local.html +385 -0
- package/docs/steps.html +420 -53
- package/package.json +22 -13
- package/readme.md +795 -21
- package/src/abi/abi.json +54 -1
- package/src/clients/emblemVaultSolanaWalletClient.ts +257 -0
- package/src/clients/emblemVaultWalletClient.ts +159 -0
- package/src/derive.ts +5 -5
- package/src/index.ts +320 -102
- package/src/providers/ProviderManager.ts +254 -0
- package/src/providers.ts +163 -0
- package/src/types.ts +50 -0
- package/src/utils.ts +63 -62
- package/test/.mocharc.js +8 -0
- package/test/README.md +212 -0
- package/test/fixtures/ethscriptions/balance-with-native-first.json +24 -0
- package/test/fixtures/ethscriptions/balance-with-native.json +23 -0
- package/test/fixtures/ethscriptions/balance.json +18 -0
- package/test/helpers/sdkLoader.js +88 -0
- package/test/helpers/setup.js +55 -0
- package/test/integration/ApiOperations.spec.js +102 -0
- package/test/integration/VaultAI.spec.js +57 -0
- package/test/integration/VaultCreation.spec.js +95 -0
- package/test/mocks.js +127 -0
- package/test/tsconfig.json +25 -0
- package/test/unit/AllowedBells.spec.js +53 -0
- package/test/unit/AllowedBitcoinDeGods.spec.js +53 -0
- package/test/unit/AllowedBitcoinOrdinals.spec.js +46 -0
- package/test/unit/AllowedCounterparty.spec.js +66 -0
- package/test/unit/AllowedCursedOrdinals.spec.js +68 -0
- package/test/unit/AllowedEmbells.spec.js +11 -0
- package/test/unit/AllowedEmbels.spec.js +11 -0
- package/test/unit/AllowedEmblemOpen.spec.js +20 -0
- package/test/unit/AllowedEthscriptions.spec.js +53 -0
- package/test/unit/AllowedHardcodedNfts.spec.js +77 -0
- package/test/unit/AllowedNamecoin.spec.js +33 -0
- package/test/unit/AllowedOrdi.spec.js +46 -0
- package/test/unit/AllowedOxbt.spec.js +46 -0
- package/test/unit/AllowedProjectCollection.spec.js +51 -0
- package/test/unit/AllowedProtocolCollection.spec.js +44 -0
- package/test/unit/AllowedStamps.spec.js +78 -0
- package/test/unit/DarkfarmsMetadata.spec.js +10 -0
- package/test/unit/EmblemVaultSdk.spec.js +188 -0
- package/test/unit/Providers.spec.js +290 -0
- package/test/unit/ResourceMonitor.spec.js +111 -0
- package/test/unit/SDKMemoryLeaks.spec.js +176 -0
- package/test/unit/Signing.spec.js +321 -0
- package/test/unit/VaultAI.spec.js +140 -0
- package/test/unit/clients/EmblemVaultSolanaWalletClient.spec.js +296 -0
- package/test/unit/clients/EmblemVaultWalletClient.spec.js +246 -0
- package/test/utils/ResourceMonitor.js +169 -0
- package/test/windsurf-rules.md +68 -0
- package/tsconfig.json +7 -3
- package/types/derive.d.ts +0 -5
- package/types/index.d.ts +152 -32
- package/types/types.d.ts +43 -0
- package/types/utils.d.ts +7 -1
- package/dist/abi/quote.js +0 -29
- package/dist/abi/quote.json +0 -26
- package/jest.config.js +0 -6
- package/tests/AllowedBells.test.ts +0 -53
- package/tests/AllowedBitcoinDeGods.test.ts +0 -53
- package/tests/AllowedBitcoinOrdinals.test.ts +0 -46
- package/tests/AllowedCounterparty.test.ts +0 -45
- package/tests/AllowedCursedOrdinals.test.ts +0 -68
- package/tests/AllowedEmbells.test.ts +0 -12
- package/tests/AllowedEmbels.test.ts +0 -16
- package/tests/AllowedEmblemOpen.test.ts +0 -20
- package/tests/AllowedEthscriptions.test.ts +0 -39
- package/tests/AllowedHardcodedNfts.test.ts +0 -78
- package/tests/AllowedNamecoin.test.ts +0 -33
- package/tests/AllowedOrdi.test.ts +0 -47
- package/tests/AllowedOxbt.test.ts +0 -47
- package/tests/AllowedProjectlCollection.test.ts +0 -51
- package/tests/AllowedProtocolCollection.test.ts +0 -44
- package/tests/AllowedStamps.test.ts +0 -73
- package/tests/DarkfarmsMetadata.test.ts +0 -10
- package/tests/EmblemVaultSdk.test.ts +0 -124
- package/tests/fixtures/embels/balance.json +0 -10
- package/tests/fixtures/ethscriptions/balance-with-native-first.json +0 -69
- package/tests/fixtures/ethscriptions/balance-with-native.json +0 -37
- package/tests/fixtures/ethscriptions/balance.json +0 -64
- /package/{tests → test}/fixtures/bells/balance-with-non-bell-first.json +0 -0
- /package/{tests → test}/fixtures/bells/balance-with-non-bell.json +0 -0
- /package/{tests → test}/fixtures/bells/balance.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-degods/balance-with-non-degods-first.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-degods/balance-with-non-degods.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-degods/balance.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-ordinals/balance-with-native-first.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-ordinals/balance-with-only-native.json +0 -0
- /package/{tests → test}/fixtures/bitcoin-ordinals/balance.json +0 -0
- /package/{tests → test}/fixtures/counterparty/balance-with-multiple.json +0 -0
- /package/{tests → test}/fixtures/counterparty/balance.json +0 -0
- /package/{tests → test}/fixtures/cursed-ordinals/balance-with-native-first.json +0 -0
- /package/{tests → test}/fixtures/cursed-ordinals/balance-with-native.json +0 -0
- /package/{tests → test}/fixtures/cursed-ordinals/balance.json +0 -0
- /package/{tests → test}/fixtures/dogeparty/balance-with-non-dogeparty-first.json +0 -0
- /package/{tests → test}/fixtures/dogeparty/balance-with-non-dogeparty.json +0 -0
- /package/{tests → test}/fixtures/dogeparty/balance.json +0 -0
- /package/{tests → test}/fixtures/emblem-open/balance.json +0 -0
- /package/{tests → test}/fixtures/hardcoded-nfts/balance-witn-non-hardcoded-first.json +0 -0
- /package/{tests → test}/fixtures/hardcoded-nfts/balance-witn-non-hardcoded.json +0 -0
- /package/{tests → test}/fixtures/hardcoded-nfts/balance.json +0 -0
- /package/{tests → test}/fixtures/megapunks/balance-with-non-megapunk-first.json +0 -0
- /package/{tests → test}/fixtures/megapunks/balance-with-non-megapunk.json +0 -0
- /package/{tests → test}/fixtures/megapunks/balance.json +0 -0
- /package/{tests → test}/fixtures/namecoin/balance-with-native-first.json +0 -0
- /package/{tests → test}/fixtures/namecoin/balance-with-native.json +0 -0
- /package/{tests → test}/fixtures/namecoin/balance.json +0 -0
- /package/{tests → test}/fixtures/ordi/balance-with-native-first.json +0 -0
- /package/{tests → test}/fixtures/ordi/balance-with-native.json +0 -0
- /package/{tests → test}/fixtures/ordi/balance.json +0 -0
- /package/{tests → test}/fixtures/oxbt/balance-with-native-first.json +0 -0
- /package/{tests → test}/fixtures/oxbt/balance-with-native.json +0 -0
- /package/{tests → test}/fixtures/oxbt/balance.json +0 -0
- /package/{tests → test}/fixtures/stamps/balance-with-non-stamps-first.json +0 -0
- /package/{tests → test}/fixtures/stamps/balance-with-non-stamps.json +0 -0
- /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
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
(recordName.toLowerCase()
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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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"}
|