@dcl/sdk 7.0.3 → 7.0.4-3602972053.commit-32d0ee8
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/ethereum-provider.d.ts +4 -0
- package/ethereum-provider.js +6 -0
- package/internal/provider.d.ts +16 -0
- package/internal/provider.js +28 -0
- package/package.json +6 -6
- package/src/ethereum-provider.ts +6 -0
- package/src/internal/provider.ts +54 -0
@@ -0,0 +1,4 @@
|
|
1
|
+
export declare function createEthereumProvider(): {
|
2
|
+
send(message: import("./internal/provider").RPCSendableMessage, callback?: ((error: Error | null, result?: any) => void) | undefined): void;
|
3
|
+
sendAsync(message: import("./internal/provider").RPCSendableMessage, callback: (error: Error | null, result?: any) => void): void;
|
4
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { sendAsync } from '~system/EthereumController';
|
2
|
+
import { getEthereumProvider } from './internal/provider';
|
3
|
+
export function createEthereumProvider() {
|
4
|
+
return getEthereumProvider(sendAsync);
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoZXJldW0tcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvZXRoZXJldW0tcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpELE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2VuZEFzeW5jIH0gZnJvbSAnfnN5c3RlbS9FdGhlcmV1bUNvbnRyb2xsZXInXG5pbXBvcnQgeyBnZXRFdGhlcmV1bVByb3ZpZGVyIH0gZnJvbSAnLi9pbnRlcm5hbC9wcm92aWRlcidcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV0aGVyZXVtUHJvdmlkZXIoKSB7XG4gIHJldHVybiBnZXRFdGhlcmV1bVByb3ZpZGVyKHNlbmRBc3luYylcbn1cbiJdfQ==
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/// <reference types="@dcl/js-runtime" />
|
2
|
+
import type { SendAsyncRequest, SendAsyncResponse } from '~system/EthereumController';
|
3
|
+
export declare type RPCSendableMessage = {
|
4
|
+
jsonrpc: '2.0';
|
5
|
+
id: number;
|
6
|
+
method: string;
|
7
|
+
params: any[];
|
8
|
+
};
|
9
|
+
export interface MessageDict {
|
10
|
+
[key: string]: string;
|
11
|
+
}
|
12
|
+
export declare type SendAsyncType = (params: SendAsyncRequest) => Promise<SendAsyncResponse>;
|
13
|
+
export declare function getEthereumProvider(sendAsync: SendAsyncType): {
|
14
|
+
send(message: RPCSendableMessage, callback?: ((error: Error | null, result?: any) => void) | undefined): void;
|
15
|
+
sendAsync(message: RPCSendableMessage, callback: (error: Error | null, result?: any) => void): void;
|
16
|
+
};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
export function getEthereumProvider(sendAsync) {
|
2
|
+
async function request(message) {
|
3
|
+
const response = await sendAsync({
|
4
|
+
id: message.id,
|
5
|
+
method: message.method,
|
6
|
+
jsonParams: JSON.stringify(message.params)
|
7
|
+
});
|
8
|
+
return JSON.parse(response.jsonAnyResponse);
|
9
|
+
}
|
10
|
+
return {
|
11
|
+
send(message, callback) {
|
12
|
+
if (message && callback && callback instanceof Function) {
|
13
|
+
request(message)
|
14
|
+
.then((x) => callback(null, x))
|
15
|
+
.catch(callback);
|
16
|
+
}
|
17
|
+
else {
|
18
|
+
throw new Error('Decentraland provider only allows async calls');
|
19
|
+
}
|
20
|
+
},
|
21
|
+
sendAsync(message, callback) {
|
22
|
+
request(message)
|
23
|
+
.then((x) => callback(null, x))
|
24
|
+
.catch(callback);
|
25
|
+
}
|
26
|
+
};
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZXJuYWwvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUF3QjtJQUMxRCxLQUFLLFVBQVUsT0FBTyxDQUFDLE9BQTJCO1FBQ2hELE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDO1lBQy9CLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzNDLENBQUMsQ0FBQTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELE9BQU87UUFFTCxJQUFJLENBQ0YsT0FBMkIsRUFDM0IsUUFBc0Q7WUFFdEQsSUFBSSxPQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsWUFBWSxRQUFRLEVBQUU7Z0JBQ3ZELE9BQU8sQ0FBQyxPQUFPLENBQUM7cUJBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUNuQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7YUFDbkI7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO2FBQ2pFO1FBQ0gsQ0FBQztRQUNELFNBQVMsQ0FDUCxPQUEyQixFQUMzQixRQUFxRDtZQUVyRCxPQUFPLENBQUMsT0FBTyxDQUFDO2lCQUNiLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDbkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3BCLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgU2VuZEFzeW5jUmVxdWVzdCxcbiAgU2VuZEFzeW5jUmVzcG9uc2Vcbn0gZnJvbSAnfnN5c3RlbS9FdGhlcmV1bUNvbnRyb2xsZXInXG5cbmV4cG9ydCB0eXBlIFJQQ1NlbmRhYmxlTWVzc2FnZSA9IHtcbiAganNvbnJwYzogJzIuMCdcbiAgaWQ6IG51bWJlclxuICBtZXRob2Q6IHN0cmluZ1xuICBwYXJhbXM6IGFueVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZURpY3Qge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VuZEFzeW5jVHlwZSA9IChcbiAgcGFyYW1zOiBTZW5kQXN5bmNSZXF1ZXN0XG4pID0+IFByb21pc2U8U2VuZEFzeW5jUmVzcG9uc2U+XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdGhlcmV1bVByb3ZpZGVyKHNlbmRBc3luYzogU2VuZEFzeW5jVHlwZSkge1xuICBhc3luYyBmdW5jdGlvbiByZXF1ZXN0KG1lc3NhZ2U6IFJQQ1NlbmRhYmxlTWVzc2FnZSkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2VuZEFzeW5jKHtcbiAgICAgIGlkOiBtZXNzYWdlLmlkLFxuICAgICAgbWV0aG9kOiBtZXNzYWdlLm1ldGhvZCxcbiAgICAgIGpzb25QYXJhbXM6IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UucGFyYW1zKVxuICAgIH0pXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UuanNvbkFueVJlc3BvbnNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBAaW50ZXJuYWxcbiAgICBzZW5kKFxuICAgICAgbWVzc2FnZTogUlBDU2VuZGFibGVNZXNzYWdlLFxuICAgICAgY2FsbGJhY2s/OiAoZXJyb3I6IEVycm9yIHwgbnVsbCwgcmVzdWx0PzogYW55KSA9PiB2b2lkXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAobWVzc2FnZSAmJiBjYWxsYmFjayAmJiBjYWxsYmFjayBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgIHJlcXVlc3QobWVzc2FnZSlcbiAgICAgICAgICAudGhlbigoeDogYW55KSA9PiBjYWxsYmFjayhudWxsLCB4KSlcbiAgICAgICAgICAuY2F0Y2goY2FsbGJhY2spXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlY2VudHJhbGFuZCBwcm92aWRlciBvbmx5IGFsbG93cyBhc3luYyBjYWxscycpXG4gICAgICB9XG4gICAgfSxcbiAgICBzZW5kQXN5bmMoXG4gICAgICBtZXNzYWdlOiBSUENTZW5kYWJsZU1lc3NhZ2UsXG4gICAgICBjYWxsYmFjazogKGVycm9yOiBFcnJvciB8IG51bGwsIHJlc3VsdD86IGFueSkgPT4gdm9pZFxuICAgICk6IHZvaWQge1xuICAgICAgcmVxdWVzdChtZXNzYWdlKVxuICAgICAgICAudGhlbigoeDogYW55KSA9PiBjYWxsYmFjayhudWxsLCB4KSlcbiAgICAgICAgLmNhdGNoKGNhbGxiYWNrKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dcl/sdk",
|
3
|
-
"version": "7.0.
|
3
|
+
"version": "7.0.4-3602972053.commit-32d0ee8",
|
4
4
|
"description": "",
|
5
5
|
"main": "./index.js",
|
6
6
|
"typings": "./index.d.ts",
|
@@ -16,14 +16,14 @@
|
|
16
16
|
"author": "Decentraland",
|
17
17
|
"license": "Apache-2.0",
|
18
18
|
"dependencies": {
|
19
|
-
"@dcl/dcl-rollup": "7.0.
|
20
|
-
"@dcl/ecs": "7.0.
|
19
|
+
"@dcl/dcl-rollup": "7.0.4-3602972053.commit-32d0ee8",
|
20
|
+
"@dcl/ecs": "7.0.4-3602972053.commit-32d0ee8",
|
21
21
|
"@dcl/ecs-math": "2.0.1-20221129185242.commit-40495c1",
|
22
|
-
"@dcl/js-runtime": "7.0.
|
22
|
+
"@dcl/js-runtime": "7.0.4-3602972053.commit-32d0ee8",
|
23
23
|
"@dcl/kernel": "2.0.0-3583781876.commit-e9c174b",
|
24
|
-
"@dcl/react-ecs": "7.0.
|
24
|
+
"@dcl/react-ecs": "7.0.4-3602972053.commit-32d0ee8",
|
25
25
|
"@dcl/unity-renderer": "1.0.65245-20221130163927.commit-5b06fa8"
|
26
26
|
},
|
27
27
|
"minCliVersion": "3.14.1",
|
28
|
-
"commit": "
|
28
|
+
"commit": "32d0ee8d4f51eeb9dfe4eec7fe47084a651984ca"
|
29
29
|
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import type {
|
2
|
+
SendAsyncRequest,
|
3
|
+
SendAsyncResponse
|
4
|
+
} from '~system/EthereumController'
|
5
|
+
|
6
|
+
export type RPCSendableMessage = {
|
7
|
+
jsonrpc: '2.0'
|
8
|
+
id: number
|
9
|
+
method: string
|
10
|
+
params: any[]
|
11
|
+
}
|
12
|
+
|
13
|
+
export interface MessageDict {
|
14
|
+
[key: string]: string
|
15
|
+
}
|
16
|
+
|
17
|
+
export type SendAsyncType = (
|
18
|
+
params: SendAsyncRequest
|
19
|
+
) => Promise<SendAsyncResponse>
|
20
|
+
|
21
|
+
export function getEthereumProvider(sendAsync: SendAsyncType) {
|
22
|
+
async function request(message: RPCSendableMessage) {
|
23
|
+
const response = await sendAsync({
|
24
|
+
id: message.id,
|
25
|
+
method: message.method,
|
26
|
+
jsonParams: JSON.stringify(message.params)
|
27
|
+
})
|
28
|
+
return JSON.parse(response.jsonAnyResponse)
|
29
|
+
}
|
30
|
+
|
31
|
+
return {
|
32
|
+
// @internal
|
33
|
+
send(
|
34
|
+
message: RPCSendableMessage,
|
35
|
+
callback?: (error: Error | null, result?: any) => void
|
36
|
+
): void {
|
37
|
+
if (message && callback && callback instanceof Function) {
|
38
|
+
request(message)
|
39
|
+
.then((x: any) => callback(null, x))
|
40
|
+
.catch(callback)
|
41
|
+
} else {
|
42
|
+
throw new Error('Decentraland provider only allows async calls')
|
43
|
+
}
|
44
|
+
},
|
45
|
+
sendAsync(
|
46
|
+
message: RPCSendableMessage,
|
47
|
+
callback: (error: Error | null, result?: any) => void
|
48
|
+
): void {
|
49
|
+
request(message)
|
50
|
+
.then((x: any) => callback(null, x))
|
51
|
+
.catch(callback)
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|