@ledgerhq/context-module 0.0.2-nightly.0 → 0.0.2-nightly.2
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/lib/ContextModule.d.ts +7 -0
- package/lib/ContextModule.d.ts.map +1 -0
- package/lib/ContextModule.js +3 -0
- package/lib/ContextModule.js.map +1 -0
- package/lib/DefaultContextModule.d.ts +15 -0
- package/lib/DefaultContextModule.d.ts.map +1 -0
- package/lib/DefaultContextModule.js +41 -0
- package/lib/DefaultContextModule.js.map +1 -0
- package/lib/DefaultContextModule.test.d.ts +2 -0
- package/lib/DefaultContextModule.test.d.ts.map +1 -0
- package/lib/DefaultContextModule.test.js +55 -0
- package/lib/DefaultContextModule.test.js.map +1 -0
- package/lib/external-plugin/__tests__/abi.json +92 -0
- package/lib/external-plugin/data/DAppDto.d.ts +38 -0
- package/lib/external-plugin/data/DAppDto.d.ts.map +1 -0
- package/lib/external-plugin/data/DAppDto.js +3 -0
- package/lib/external-plugin/data/DAppDto.js.map +1 -0
- package/lib/external-plugin/data/ExternalPluginDataSource.d.ts +10 -0
- package/lib/external-plugin/data/ExternalPluginDataSource.d.ts.map +1 -0
- package/lib/external-plugin/data/ExternalPluginDataSource.js +3 -0
- package/lib/external-plugin/data/ExternalPluginDataSource.js.map +1 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.d.ts +7 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.js +55 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.js.map +1 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.test.d.ts +2 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.test.d.ts.map +1 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.test.js +268 -0
- package/lib/external-plugin/data/HttpExternalPluginDataSource.test.js.map +1 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.d.ts +15 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.js +96 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.js.map +1 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.test.d.ts +2 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.test.d.ts.map +1 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.test.js +345 -0
- package/lib/external-plugin/domain/ExternalPluginContextLoader.test.js.map +1 -0
- package/lib/external-plugin/model/DappInfos.d.ts +6 -0
- package/lib/external-plugin/model/DappInfos.d.ts.map +1 -0
- package/lib/external-plugin/model/DappInfos.js +3 -0
- package/lib/external-plugin/model/DappInfos.js.map +1 -0
- package/lib/external-plugin/model/SelectorDetails.d.ts +8 -0
- package/lib/external-plugin/model/SelectorDetails.d.ts.map +1 -0
- package/lib/external-plugin/model/SelectorDetails.js +3 -0
- package/lib/external-plugin/model/SelectorDetails.js.map +1 -0
- package/lib/forward-domain/data/ForwardDomainDataSource.d.ts +8 -0
- package/lib/forward-domain/data/ForwardDomainDataSource.d.ts.map +1 -0
- package/lib/forward-domain/data/ForwardDomainDataSource.js +3 -0
- package/lib/forward-domain/data/ForwardDomainDataSource.js.map +1 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.d.ts +5 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +1 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.js +36 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.js.map +1 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.test.d.ts +2 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.test.d.ts.map +1 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.test.js +53 -0
- package/lib/forward-domain/data/HttpForwardDomainDataSource.test.js.map +1 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.d.ts +12 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +1 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.js +58 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.js.map +1 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.test.d.ts +2 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.test.d.ts.map +1 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.test.js +99 -0
- package/lib/forward-domain/domain/ForwardDomainContextLoader.test.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/nft/data/HttpNftDataSource.d.ts +6 -0
- package/lib/nft/data/HttpNftDataSource.d.ts.map +1 -0
- package/lib/nft/data/HttpNftDataSource.js +51 -0
- package/lib/nft/data/HttpNftDataSource.js.map +1 -0
- package/lib/nft/data/HttpNftDataSource.test.d.ts +2 -0
- package/lib/nft/data/HttpNftDataSource.test.d.ts.map +1 -0
- package/lib/nft/data/HttpNftDataSource.test.js +62 -0
- package/lib/nft/data/HttpNftDataSource.test.js.map +1 -0
- package/lib/nft/data/NftDataSource.d.ts +14 -0
- package/lib/nft/data/NftDataSource.d.ts.map +1 -0
- package/lib/nft/data/NftDataSource.js +3 -0
- package/lib/nft/data/NftDataSource.js.map +1 -0
- package/lib/nft/domain/NftContextLoader.d.ts +12 -0
- package/lib/nft/domain/NftContextLoader.d.ts.map +1 -0
- package/lib/nft/domain/NftContextLoader.js +79 -0
- package/lib/nft/domain/NftContextLoader.js.map +1 -0
- package/lib/nft/domain/NftContextLoader.test.d.ts +2 -0
- package/lib/nft/domain/NftContextLoader.test.d.ts.map +1 -0
- package/lib/nft/domain/NftContextLoader.test.js +113 -0
- package/lib/nft/domain/NftContextLoader.test.js.map +1 -0
- package/lib/shared/domain/ContextLoader.d.ts +7 -0
- package/lib/shared/domain/ContextLoader.d.ts.map +1 -0
- package/lib/shared/domain/ContextLoader.js +3 -0
- package/lib/shared/domain/ContextLoader.js.map +1 -0
- package/lib/shared/model/ContextResponse.d.ts +11 -0
- package/lib/shared/model/ContextResponse.d.ts.map +1 -0
- package/lib/shared/model/ContextResponse.js +3 -0
- package/lib/shared/model/ContextResponse.js.map +1 -0
- package/lib/shared/model/LoaderOptions.d.ts +10 -0
- package/lib/shared/model/LoaderOptions.d.ts.map +1 -0
- package/lib/shared/model/LoaderOptions.js +3 -0
- package/lib/shared/model/LoaderOptions.js.map +1 -0
- package/lib/shared/model/Transaction.d.ts +2 -0
- package/lib/shared/model/Transaction.d.ts.map +1 -0
- package/lib/shared/model/Transaction.js +3 -0
- package/lib/shared/model/Transaction.js.map +1 -0
- package/lib/token/data/HttpTokenDataSource.d.ts +5 -0
- package/lib/token/data/HttpTokenDataSource.d.ts.map +1 -0
- package/lib/token/data/HttpTokenDataSource.js +68 -0
- package/lib/token/data/HttpTokenDataSource.js.map +1 -0
- package/lib/token/data/HttpTokenDataSource.test.d.ts +2 -0
- package/lib/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
- package/lib/token/data/HttpTokenDataSource.test.js +87 -0
- package/lib/token/data/HttpTokenDataSource.test.js.map +1 -0
- package/lib/token/data/TokenDataSource.d.ts +8 -0
- package/lib/token/data/TokenDataSource.d.ts.map +1 -0
- package/lib/token/data/TokenDataSource.js +3 -0
- package/lib/token/data/TokenDataSource.js.map +1 -0
- package/lib/token/data/TokenDto.d.ts +6 -0
- package/lib/token/data/TokenDto.d.ts.map +1 -0
- package/lib/token/data/TokenDto.js +3 -0
- package/lib/token/data/TokenDto.js.map +1 -0
- package/lib/token/domain/TokenContextLoader.d.ts +16 -0
- package/lib/token/domain/TokenContextLoader.d.ts.map +1 -0
- package/lib/token/domain/TokenContextLoader.js +52 -0
- package/lib/token/domain/TokenContextLoader.js.map +1 -0
- package/lib/token/domain/TokenContextLoader.test.d.ts +2 -0
- package/lib/token/domain/TokenContextLoader.test.d.ts.map +1 -0
- package/lib/token/domain/TokenContextLoader.test.js +97 -0
- package/lib/token/domain/TokenContextLoader.test.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const ForwardDomainContextLoader_1 = require("./ForwardDomainContextLoader");
|
|
13
|
+
describe("ForwardDomainContextLoader", () => {
|
|
14
|
+
const transaction = {};
|
|
15
|
+
const mockForwardDomainDataSource = { getDomainNamePayload: jest.fn() };
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
jest.restoreAllMocks();
|
|
18
|
+
jest.spyOn(mockForwardDomainDataSource, "getDomainNamePayload").mockResolvedValue("payload");
|
|
19
|
+
});
|
|
20
|
+
describe("load function", () => {
|
|
21
|
+
it("should return an empty array when no domain or registry", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const options = {};
|
|
23
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
24
|
+
const promise = () => loader.load(transaction, options);
|
|
25
|
+
expect(promise()).resolves.toEqual([]);
|
|
26
|
+
}));
|
|
27
|
+
it("should throw an error when no registry", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const options = { options: { forwardDomain: { domain: "test.eth" } } };
|
|
29
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
30
|
+
const promise = () => loader.load(transaction, options);
|
|
31
|
+
expect(promise()).rejects.toThrow(new Error("[ContextModule] ForwardDomainLoader: Invalid combination of domain and registry. Either both domain and registry should exist"));
|
|
32
|
+
}));
|
|
33
|
+
it("should throw an error when no domain", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const options = { options: { forwardDomain: { registry: "ens" } } };
|
|
35
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
36
|
+
const promise = () => loader.load(transaction, options);
|
|
37
|
+
expect(promise()).rejects.toThrow(new Error("[ContextModule] ForwardDomainLoader: Invalid combination of domain and registry. Either both domain and registry should exist"));
|
|
38
|
+
}));
|
|
39
|
+
it("should return an error when domain > max length", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
const options = {
|
|
41
|
+
options: {
|
|
42
|
+
forwardDomain: {
|
|
43
|
+
domain: "maxlength-maxlength-maxlength-maxlength-maxlength",
|
|
44
|
+
registry: "ens",
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
49
|
+
const result = yield loader.load(transaction, options);
|
|
50
|
+
expect(result).toEqual([
|
|
51
|
+
{
|
|
52
|
+
type: "error",
|
|
53
|
+
error: new Error("[ContextModule] ForwardDomainLoader: invalid domain"),
|
|
54
|
+
},
|
|
55
|
+
]);
|
|
56
|
+
}));
|
|
57
|
+
it("should return an error when domain is not valid", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
const options = {
|
|
59
|
+
options: { forwardDomain: { domain: "hello👋", registry: "ens" } },
|
|
60
|
+
};
|
|
61
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
62
|
+
const result = yield loader.load(transaction, options);
|
|
63
|
+
expect(result).toEqual([
|
|
64
|
+
{
|
|
65
|
+
type: "error",
|
|
66
|
+
error: new Error("[ContextModule] ForwardDomainLoader: invalid domain"),
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
}));
|
|
70
|
+
it("should return a payload", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
const options = {
|
|
72
|
+
options: { forwardDomain: { domain: "hello.eth", registry: "ens" } },
|
|
73
|
+
};
|
|
74
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
75
|
+
const result = yield loader.load(transaction, options);
|
|
76
|
+
expect(result).toEqual([
|
|
77
|
+
{
|
|
78
|
+
type: "provideDomainName",
|
|
79
|
+
payload: "payload",
|
|
80
|
+
},
|
|
81
|
+
]);
|
|
82
|
+
}));
|
|
83
|
+
it("should return an error when no payload", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
const options = {
|
|
85
|
+
options: { forwardDomain: { domain: "hello.eth", registry: "ens" } },
|
|
86
|
+
};
|
|
87
|
+
jest.spyOn(mockForwardDomainDataSource, "getDomainNamePayload").mockResolvedValue(undefined);
|
|
88
|
+
const loader = new ForwardDomainContextLoader_1.ForwardDomainContextLoader(mockForwardDomainDataSource);
|
|
89
|
+
const result = yield loader.load(transaction, options);
|
|
90
|
+
expect(result).toEqual([
|
|
91
|
+
{
|
|
92
|
+
type: "error",
|
|
93
|
+
error: new Error("[ContextModule] ForwardDomainLoader: error getting domain payload"),
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
}));
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=ForwardDomainContextLoader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForwardDomainContextLoader.test.js","sourceRoot":"","sources":["../../../src/forward-domain/domain/ForwardDomainContextLoader.test.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./ContextModule";
|
|
2
|
+
export * from "./DefaultContextModule";
|
|
3
|
+
export * from "./shared/model/ContextResponse";
|
|
4
|
+
export * from "./token/domain/TokenContextLoader";
|
|
5
|
+
export * from "./nft/domain/NftContextLoader";
|
|
6
|
+
export * from "./forward-domain/domain/ForwardDomainContextLoader";
|
|
7
|
+
export * from "./external-plugin/domain/ExternalPluginContextLoader";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ContextModule"), exports);
|
|
18
|
+
__exportStar(require("./DefaultContextModule"), exports);
|
|
19
|
+
__exportStar(require("./shared/model/ContextResponse"), exports);
|
|
20
|
+
__exportStar(require("./token/domain/TokenContextLoader"), exports);
|
|
21
|
+
__exportStar(require("./nft/domain/NftContextLoader"), exports);
|
|
22
|
+
__exportStar(require("./forward-domain/domain/ForwardDomainContextLoader"), exports);
|
|
23
|
+
__exportStar(require("./external-plugin/domain/ExternalPluginContextLoader"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC;AACvC,iEAA+C;AAE/C,oEAAkD;AAClD,gEAA8C;AAC9C,qFAAmE;AACnE,uFAAqE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GetNftInformationsParams, GetSetPluginPayloadParams, NftDataSource } from "./NftDataSource";
|
|
2
|
+
export declare class HttpNftDataSource implements NftDataSource {
|
|
3
|
+
getSetPluginPayload({ chainId, address, selector, }: GetSetPluginPayloadParams): Promise<string | undefined>;
|
|
4
|
+
getNftInfosPayload({ chainId, address }: GetNftInformationsParams): Promise<string | undefined>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=HttpNftDataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpNftDataSource.d.ts","sourceRoot":"","sources":["../../../src/nft/data/HttpNftDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,iBAAkB,YAAW,aAAa;IACxC,mBAAmB,CAAC,EAC/B,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAc7C,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB;CAa/E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HttpNftDataSource = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const package_json_1 = __importDefault(require("../../../package.json"));
|
|
18
|
+
class HttpNftDataSource {
|
|
19
|
+
getSetPluginPayload(_a) {
|
|
20
|
+
return __awaiter(this, arguments, void 0, function* ({ chainId, address, selector, }) {
|
|
21
|
+
try {
|
|
22
|
+
const response = yield axios_1.default.request({
|
|
23
|
+
method: "GET",
|
|
24
|
+
url: `https://nft.api.live.ledger.com/v1/ethereum/${chainId}/contracts/${address}/plugin-selector/${selector}`,
|
|
25
|
+
headers: { "X-Ledger-Client-Version": `context-module/${package_json_1.default.version}` },
|
|
26
|
+
});
|
|
27
|
+
return response.data.payload;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getNftInfosPayload(_a) {
|
|
35
|
+
return __awaiter(this, arguments, void 0, function* ({ chainId, address }) {
|
|
36
|
+
try {
|
|
37
|
+
const response = yield axios_1.default.request({
|
|
38
|
+
method: "GET",
|
|
39
|
+
url: `https://nft.api.live.ledger.com/v1/ethereum/${chainId}/contracts/${address}`,
|
|
40
|
+
headers: { "X-Ledger-Client-Version": `context-module/${package_json_1.default.version}` },
|
|
41
|
+
});
|
|
42
|
+
return response.data.payload;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.HttpNftDataSource = HttpNftDataSource;
|
|
51
|
+
//# sourceMappingURL=HttpNftDataSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpNftDataSource.js","sourceRoot":"","sources":["../../../src/nft/data/HttpNftDataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAM1B,yEAA4C;AAE5C,MAAa,iBAAiB;IACf,mBAAmB;6DAAC,EAC/B,OAAO,EACP,OAAO,EACP,QAAQ,GACkB;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,OAAO,CAAsB;oBACxD,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,+CAA+C,OAAO,cAAc,OAAO,oBAAoB,QAAQ,EAAE;oBAC9G,OAAO,EAAE,EAAE,yBAAyB,EAAE,kBAAkB,sBAAO,CAAC,OAAO,EAAE,EAAE;iBAC5E,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;QACH,CAAC;KAAA;IAEY,kBAAkB;6DAAC,EAAE,OAAO,EAAE,OAAO,EAA4B;YAC5E,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,OAAO,CAAsB;oBACxD,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,+CAA+C,OAAO,cAAc,OAAO,EAAE;oBAClF,OAAO,EAAE,EAAE,yBAAyB,EAAE,kBAAkB,sBAAO,CAAC,OAAO,EAAE,EAAE;iBAC5E,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;QACH,CAAC;KAAA;CACF;AAhCD,8CAgCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpNftDataSource.test.d.ts","sourceRoot":"","sources":["../../../src/nft/data/HttpNftDataSource.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const axios_1 = __importDefault(require("axios"));
|
|
16
|
+
const package_json_1 = __importDefault(require("../../../package.json"));
|
|
17
|
+
const HttpNftDataSource_1 = require("./HttpNftDataSource");
|
|
18
|
+
jest.mock("axios");
|
|
19
|
+
describe("HttpNftDataSource", () => {
|
|
20
|
+
let datasource;
|
|
21
|
+
beforeAll(() => {
|
|
22
|
+
datasource = new HttpNftDataSource_1.HttpNftDataSource();
|
|
23
|
+
jest.clearAllMocks();
|
|
24
|
+
});
|
|
25
|
+
it("should call axios with the ledger client version header", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
// GIVEN
|
|
27
|
+
const version = `context-module/${package_json_1.default.version}`;
|
|
28
|
+
const requestSpy = jest.fn(() => Promise.resolve({ data: [] }));
|
|
29
|
+
jest.spyOn(axios_1.default, "request").mockImplementation(requestSpy);
|
|
30
|
+
// WHEN
|
|
31
|
+
yield datasource.getNftInfosPayload({ address: "0x00", chainId: 1 });
|
|
32
|
+
yield datasource.getSetPluginPayload({ address: "0x00", chainId: 1, selector: "0x00" });
|
|
33
|
+
// THEN
|
|
34
|
+
expect(requestSpy).toHaveBeenNthCalledWith(1, expect.objectContaining({ headers: { "X-Ledger-Client-Version": version } }));
|
|
35
|
+
expect(requestSpy).toHaveBeenNthCalledWith(2, expect.objectContaining({ headers: { "X-Ledger-Client-Version": version } }));
|
|
36
|
+
}));
|
|
37
|
+
describe("getNftInfosPayload", () => {
|
|
38
|
+
it("should return undefined when axios throws an error", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
// GIVEN
|
|
40
|
+
jest.spyOn(axios_1.default, "request").mockRejectedValue(new Error("error"));
|
|
41
|
+
// WHEN
|
|
42
|
+
const result = yield datasource.getNftInfosPayload({ address: "0x00", chainId: 1 });
|
|
43
|
+
// THEN
|
|
44
|
+
expect(result).toBeUndefined();
|
|
45
|
+
}));
|
|
46
|
+
});
|
|
47
|
+
describe("getSetPluginPayload", () => {
|
|
48
|
+
it("should return undefined when axios throws an error", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
// GIVEN
|
|
50
|
+
jest.spyOn(axios_1.default, "request").mockRejectedValue(new Error("error"));
|
|
51
|
+
// WHEN
|
|
52
|
+
const result = yield datasource.getSetPluginPayload({
|
|
53
|
+
address: "0x00",
|
|
54
|
+
chainId: 1,
|
|
55
|
+
selector: "0x00",
|
|
56
|
+
});
|
|
57
|
+
// THEN
|
|
58
|
+
expect(result).toBeUndefined();
|
|
59
|
+
}));
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=HttpNftDataSource.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpNftDataSource.test.js","sourceRoot":"","sources":["../../../src/nft/data/HttpNftDataSource.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yEAA4C;AAE5C,2DAAwD;AAExD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEnB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,UAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;QACvE,QAAQ;QACR,MAAM,OAAO,GAAG,kBAAkB,sBAAO,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,eAAK,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE5D,OAAO;QACP,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,UAAU,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAExF,OAAO;QACP,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,CAAC,CAC7E,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,CAAC,CAC7E,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,QAAQ;YACR,IAAI,CAAC,KAAK,CAAC,eAAK,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnE,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAEpF,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,QAAQ;YACR,IAAI,CAAC,KAAK,CAAC,eAAK,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnE,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC;gBAClD,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YAEH,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type GetSetPluginPayloadParams = {
|
|
2
|
+
chainId: number;
|
|
3
|
+
address: string;
|
|
4
|
+
selector: string;
|
|
5
|
+
};
|
|
6
|
+
export type GetNftInformationsParams = {
|
|
7
|
+
chainId: number;
|
|
8
|
+
address: string;
|
|
9
|
+
};
|
|
10
|
+
export interface NftDataSource {
|
|
11
|
+
getNftInfosPayload(params: GetNftInformationsParams): Promise<string | undefined>;
|
|
12
|
+
getSetPluginPayload(params: GetSetPluginPayloadParams): Promise<string | undefined>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NftDataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftDataSource.d.ts","sourceRoot":"","sources":["../../../src/nft/data/NftDataSource.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClF,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftDataSource.js","sourceRoot":"","sources":["../../../src/nft/data/NftDataSource.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ContextLoader } from "../../shared/domain/ContextLoader";
|
|
2
|
+
import { ContextResponse } from "../../shared/model/ContextResponse";
|
|
3
|
+
import { LoaderOptions } from "../../shared/model/LoaderOptions";
|
|
4
|
+
import { Transaction } from "../../shared/model/Transaction";
|
|
5
|
+
import { NftDataSource } from "../data/NftDataSource";
|
|
6
|
+
export declare class NftContextLoader implements ContextLoader {
|
|
7
|
+
private _dataSource;
|
|
8
|
+
constructor(dataSource: NftDataSource);
|
|
9
|
+
load(transaction: Transaction, _options: LoaderOptions): Promise<ContextResponse[]>;
|
|
10
|
+
private isSelectorSupported;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=NftContextLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftContextLoader.d.ts","sourceRoot":"","sources":["../../../src/nft/domain/NftContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqBtD,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,WAAW,CAAgB;gBAEvB,UAAU,EAAE,aAAa;IAI/B,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAgDzF,OAAO,CAAC,mBAAmB;CAG5B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NftContextLoader = void 0;
|
|
13
|
+
var ERC721_SUPPORTED_SELECTOR;
|
|
14
|
+
(function (ERC721_SUPPORTED_SELECTOR) {
|
|
15
|
+
ERC721_SUPPORTED_SELECTOR["Approve"] = "0x095ea7b3";
|
|
16
|
+
ERC721_SUPPORTED_SELECTOR["SetApprovalForAll"] = "0xa22cb465";
|
|
17
|
+
ERC721_SUPPORTED_SELECTOR["TransferFrom"] = "0x23b872dd";
|
|
18
|
+
ERC721_SUPPORTED_SELECTOR["SafeTransferFrom"] = "0x42842e0e";
|
|
19
|
+
ERC721_SUPPORTED_SELECTOR["SafeTransferFromWithData"] = "0xb88d4fde";
|
|
20
|
+
})(ERC721_SUPPORTED_SELECTOR || (ERC721_SUPPORTED_SELECTOR = {}));
|
|
21
|
+
var ERC1155_SUPPORTED_SELECTOR;
|
|
22
|
+
(function (ERC1155_SUPPORTED_SELECTOR) {
|
|
23
|
+
ERC1155_SUPPORTED_SELECTOR["SetApprovalForAll"] = "0xa22cb465";
|
|
24
|
+
ERC1155_SUPPORTED_SELECTOR["SafeTransferFrom"] = "0xf242432a";
|
|
25
|
+
ERC1155_SUPPORTED_SELECTOR["SafeBatchTransferFrom"] = "0x2eb2c2d6";
|
|
26
|
+
})(ERC1155_SUPPORTED_SELECTOR || (ERC1155_SUPPORTED_SELECTOR = {}));
|
|
27
|
+
const SUPPORTED_SELECTORS = [
|
|
28
|
+
...Object.values(ERC721_SUPPORTED_SELECTOR),
|
|
29
|
+
...Object.values(ERC1155_SUPPORTED_SELECTOR),
|
|
30
|
+
];
|
|
31
|
+
class NftContextLoader {
|
|
32
|
+
constructor(dataSource) {
|
|
33
|
+
this._dataSource = dataSource;
|
|
34
|
+
}
|
|
35
|
+
load(transaction, _options) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const responses = [];
|
|
38
|
+
if (!transaction.to || !transaction.data || transaction.data === "0x") {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
const selector = transaction.data.slice(0, 10);
|
|
42
|
+
if (!this.isSelectorSupported(selector)) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
// EXAMPLE:
|
|
46
|
+
// https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D/plugin-selector/0x095ea7b3
|
|
47
|
+
const setPluginPayload = yield this._dataSource.getSetPluginPayload({
|
|
48
|
+
chainId: transaction.chainId,
|
|
49
|
+
address: transaction.to,
|
|
50
|
+
selector,
|
|
51
|
+
});
|
|
52
|
+
if (!setPluginPayload) {
|
|
53
|
+
return [
|
|
54
|
+
{
|
|
55
|
+
type: "error",
|
|
56
|
+
error: new Error("[ContextModule] NftLoader: unexpected empty response"),
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
responses.push({ type: "setPlugin", payload: setPluginPayload });
|
|
61
|
+
const nftInformationsPayload = yield this._dataSource.getNftInfosPayload({
|
|
62
|
+
chainId: transaction.chainId,
|
|
63
|
+
address: transaction.to,
|
|
64
|
+
});
|
|
65
|
+
if (!nftInformationsPayload) {
|
|
66
|
+
return [
|
|
67
|
+
{ type: "error", error: new Error("[ContextModule] NftLoader: no nft metadata") },
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
responses.push({ type: "provideNFTInformation", payload: nftInformationsPayload });
|
|
71
|
+
return responses;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
isSelectorSupported(selector) {
|
|
75
|
+
return Object.values(SUPPORTED_SELECTORS).includes(selector);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.NftContextLoader = NftContextLoader;
|
|
79
|
+
//# sourceMappingURL=NftContextLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftContextLoader.js","sourceRoot":"","sources":["../../../src/nft/domain/NftContextLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,IAAK,yBAMJ;AAND,WAAK,yBAAyB;IAC5B,mDAAsB,CAAA;IACtB,6DAAgC,CAAA;IAChC,wDAA2B,CAAA;IAC3B,4DAA+B,CAAA;IAC/B,oEAAuC,CAAA;AACzC,CAAC,EANI,yBAAyB,KAAzB,yBAAyB,QAM7B;AAED,IAAK,0BAIJ;AAJD,WAAK,0BAA0B;IAC7B,8DAAgC,CAAA;IAChC,6DAA+B,CAAA;IAC/B,kEAAoC,CAAA;AACtC,CAAC,EAJI,0BAA0B,KAA1B,0BAA0B,QAI9B;AAED,MAAM,mBAAmB,GAAoB;IAC3C,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;IAC3C,GAAG,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC;CAC7C,CAAC;AAEF,MAAa,gBAAgB;IAG3B,YAAY,UAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAEK,IAAI,CAAC,WAAwB,EAAE,QAAuB;;YAC1D,MAAM,SAAS,GAAsB,EAAE,CAAC;YAExC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAkB,CAAC;YAEhE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,WAAW;YACX,gIAAgI;YAChI,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBAClE,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,OAAO,EAAE,WAAW,CAAC,EAAE;gBACvB,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO;oBACL;wBACE,IAAI,EAAE,OAAgB;wBACtB,KAAK,EAAE,IAAI,KAAK,CAAC,sDAAsD,CAAC;qBACzE;iBACF,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEjE,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBACvE,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,OAAO,EAAE,WAAW,CAAC,EAAE;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,OAAO;oBACL,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,4CAA4C,CAAC,EAAE;iBAC3F,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAEnF,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEO,mBAAmB,CAAC,QAAuB;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF;AA1DD,4CA0DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftContextLoader.test.d.ts","sourceRoot":"","sources":["../../../src/nft/domain/NftContextLoader.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const NftContextLoader_1 = require("./NftContextLoader");
|
|
13
|
+
describe("NftContextLoader", () => {
|
|
14
|
+
const spyGetNftInfosPayload = jest.fn();
|
|
15
|
+
const spyGetPluginPayload = jest.fn();
|
|
16
|
+
let mockDataSource;
|
|
17
|
+
let loader;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
jest.restoreAllMocks();
|
|
20
|
+
mockDataSource = {
|
|
21
|
+
getNftInfosPayload: spyGetNftInfosPayload,
|
|
22
|
+
getSetPluginPayload: spyGetPluginPayload,
|
|
23
|
+
};
|
|
24
|
+
loader = new NftContextLoader_1.NftContextLoader(mockDataSource);
|
|
25
|
+
});
|
|
26
|
+
describe("load function", () => {
|
|
27
|
+
it("should return an empty array if no dest", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const options = {};
|
|
29
|
+
const transaction = { to: undefined, data: "0x01" };
|
|
30
|
+
const result = yield loader.load(transaction, options);
|
|
31
|
+
expect(result).toEqual([]);
|
|
32
|
+
}));
|
|
33
|
+
it("should return an empty array if undefined data", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const options = {};
|
|
35
|
+
const transaction = {
|
|
36
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
37
|
+
data: undefined,
|
|
38
|
+
};
|
|
39
|
+
const result = yield loader.load(transaction, options);
|
|
40
|
+
expect(result).toEqual([]);
|
|
41
|
+
}));
|
|
42
|
+
it("should return an empty array if empty data", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
const options = {};
|
|
44
|
+
const transaction = {
|
|
45
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
46
|
+
data: "0x",
|
|
47
|
+
};
|
|
48
|
+
const result = yield loader.load(transaction, options);
|
|
49
|
+
expect(result).toEqual([]);
|
|
50
|
+
}));
|
|
51
|
+
it("should return an empty array if selector not supported", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
const options = {};
|
|
53
|
+
const transaction = {
|
|
54
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
55
|
+
data: "0x095ea7b20000000000000",
|
|
56
|
+
};
|
|
57
|
+
const result = yield loader.load(transaction, options);
|
|
58
|
+
expect(result).toEqual([]);
|
|
59
|
+
}));
|
|
60
|
+
it("should return an error when no plugin response", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
const options = {};
|
|
62
|
+
const transaction = {
|
|
63
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
64
|
+
data: "0x095ea7b30000000000000",
|
|
65
|
+
};
|
|
66
|
+
spyGetPluginPayload.mockResolvedValueOnce(undefined);
|
|
67
|
+
const result = yield loader.load(transaction, options);
|
|
68
|
+
expect(result).toEqual([
|
|
69
|
+
expect.objectContaining({
|
|
70
|
+
type: "error",
|
|
71
|
+
error: new Error("[ContextModule] NftLoader: unexpected empty response"),
|
|
72
|
+
}),
|
|
73
|
+
]);
|
|
74
|
+
}));
|
|
75
|
+
it("should return an error when no nft data response", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
|
+
const options = {};
|
|
77
|
+
const transaction = {
|
|
78
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
79
|
+
data: "0x095ea7b30000000000000",
|
|
80
|
+
};
|
|
81
|
+
spyGetPluginPayload.mockResolvedValueOnce("payload1");
|
|
82
|
+
spyGetNftInfosPayload.mockResolvedValueOnce(undefined);
|
|
83
|
+
const result = yield loader.load(transaction, options);
|
|
84
|
+
expect(result).toEqual([
|
|
85
|
+
expect.objectContaining({
|
|
86
|
+
type: "error",
|
|
87
|
+
error: new Error("[ContextModule] NftLoader: no nft metadata"),
|
|
88
|
+
}),
|
|
89
|
+
]);
|
|
90
|
+
}));
|
|
91
|
+
it("should return a response", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
+
const options = {};
|
|
93
|
+
const transaction = {
|
|
94
|
+
to: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
95
|
+
data: "0x095ea7b30000000000000",
|
|
96
|
+
};
|
|
97
|
+
spyGetPluginPayload.mockResolvedValueOnce("payload1");
|
|
98
|
+
spyGetNftInfosPayload.mockResolvedValueOnce("payload2");
|
|
99
|
+
const result = yield loader.load(transaction, options);
|
|
100
|
+
expect(result).toEqual([
|
|
101
|
+
{
|
|
102
|
+
type: "setPlugin",
|
|
103
|
+
payload: "payload1",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: "provideNFTInformation",
|
|
107
|
+
payload: "payload2",
|
|
108
|
+
},
|
|
109
|
+
]);
|
|
110
|
+
}));
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=NftContextLoader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NftContextLoader.test.js","sourceRoot":"","sources":["../../../src/nft/domain/NftContextLoader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ContextResponse } from "../model/ContextResponse";
|
|
2
|
+
import { LoaderOptions } from "../model/LoaderOptions";
|
|
3
|
+
import { Transaction } from "../model/Transaction";
|
|
4
|
+
export type ContextLoader = {
|
|
5
|
+
load: (transaction: Transaction, options: LoaderOptions) => Promise<ContextResponse[]>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=ContextLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextLoader.d.ts","sourceRoot":"","sources":["../../../src/shared/domain/ContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACxF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextLoader.js","sourceRoot":"","sources":["../../../src/shared/domain/ContextLoader.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type ContextSuccess = {
|
|
2
|
+
type: "provideERC20TokenInformation" | "provideNFTInformation" | "provideDomainName" | "setPlugin" | "setExternalPlugin";
|
|
3
|
+
payload: string;
|
|
4
|
+
};
|
|
5
|
+
type ContextError = {
|
|
6
|
+
type: "error";
|
|
7
|
+
error: Error;
|
|
8
|
+
};
|
|
9
|
+
export type ContextResponse = ContextSuccess | ContextError;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=ContextResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextResponse.d.ts","sourceRoot":"","sources":["../../../src/shared/model/ContextResponse.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IACpB,IAAI,EACA,8BAA8B,GAC9B,uBAAuB,GACvB,mBAAmB,GACnB,WAAW,GACX,mBAAmB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextResponse.js","sourceRoot":"","sources":["../../../src/shared/model/ContextResponse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoaderOptions.d.ts","sourceRoot":"","sources":["../../../src/shared/model/LoaderOptions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,KAAK,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE,CAAC"}
|