@thru/protocol 0.1.38 → 0.2.1
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/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/postMessage.ts +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -17,12 +17,13 @@ declare const EMBEDDED_PROVIDER_EVENTS: {
|
|
|
17
17
|
readonly CONNECT_ERROR: "connect_error";
|
|
18
18
|
readonly ERROR: "error";
|
|
19
19
|
readonly LOCK: "lock";
|
|
20
|
+
readonly UI_SHOW: "ui_show";
|
|
20
21
|
readonly ACCOUNT_CHANGED: "account_changed";
|
|
21
22
|
};
|
|
22
23
|
type EmbeddedProviderEvent = typeof EMBEDDED_PROVIDER_EVENTS[keyof typeof EMBEDDED_PROVIDER_EVENTS];
|
|
23
24
|
declare const POST_MESSAGE_EVENT_TYPE: "event";
|
|
24
25
|
declare const IFRAME_READY_EVENT: "iframe:ready";
|
|
25
|
-
declare const DEFAULT_IFRAME_URL = "
|
|
26
|
+
declare const DEFAULT_IFRAME_URL = "http://localhost:3000/embedded";
|
|
26
27
|
declare const createRequestId: (prefix?: string) => string;
|
|
27
28
|
interface BaseRequest {
|
|
28
29
|
id: string;
|
package/dist/index.js
CHANGED
|
@@ -14,11 +14,12 @@ var EMBEDDED_PROVIDER_EVENTS = {
|
|
|
14
14
|
CONNECT_ERROR: "connect_error",
|
|
15
15
|
ERROR: "error",
|
|
16
16
|
LOCK: "lock",
|
|
17
|
+
UI_SHOW: "ui_show",
|
|
17
18
|
ACCOUNT_CHANGED: "account_changed"
|
|
18
19
|
};
|
|
19
20
|
var POST_MESSAGE_EVENT_TYPE = "event";
|
|
20
21
|
var IFRAME_READY_EVENT = "iframe:ready";
|
|
21
|
-
var DEFAULT_IFRAME_URL = "
|
|
22
|
+
var DEFAULT_IFRAME_URL = "http://localhost:3000/embedded";
|
|
22
23
|
var REQUEST_ID_PREFIX = "req";
|
|
23
24
|
var createRequestId = (prefix = REQUEST_ID_PREFIX) => {
|
|
24
25
|
const random = Math.random().toString(36).slice(2, 11);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/postMessage.ts"],"names":[],"mappings":";AAEO,IAAM,0BAAA,GAA6B;AAAA,EACxC,OAAA,EAAS,SAAA;AAAA,EACT,UAAA,EAAY,YAAA;AAAA,EACZ,YAAA,EAAc,aAAA;AAAA,EACd,gBAAA,EAAkB,iBAAA;AAAA,EAClB,YAAA,EAAc,aAAA;AAAA,EACd,cAAA,EAAgB;AAClB;AAIO,IAAM,wBAAA,GAA2B;AAAA,EACtC,aAAA,EAAe,eAAA;AAAA,EACf,OAAA,EAAS,SAAA;AAAA,EACT,UAAA,EAAY,YAAA;AAAA,EACZ,aAAA,EAAe,eAAA;AAAA,EACf,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,eAAA,EAAiB;AACnB;AAKO,IAAM,uBAAA,GAA0B;AAEhC,IAAM,kBAAA,GAAqB;AAE3B,IAAM,kBAAA,GAAqB;AAElC,IAAM,iBAAA,GAAoB,KAAA;AAEnB,IAAM,eAAA,GAAkB,CAAC,MAAA,GAAiB,iBAAA,KAA8B;AAC7E,EAAA,MAAM,MAAA,GAAS,KAAK,MAAA,EAAO,CAAE,SAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACrD,EAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,KAAK,GAAA,EAAK,IAAI,MAAM,CAAA,CAAA;AAC1C;AA0GO,IAAM,SAAA,GAAY;AAAA,EACvB,aAAA,EAAe,eAAA;AAAA,EACf,aAAA,EAAe,eAAA;AAAA,EACf,gBAAA,EAAkB,kBAAA;AAAA,EAClB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,aAAA,EAAe,eAAA;AAAA,EACf,OAAA,EAAS,SAAA;AAAA,EACT,aAAA,EAAe;AACjB","file":"index.js","sourcesContent":["import type { AppMetadata, ConnectResult, WalletAccount } from '@thru/chain-interfaces';\n\nexport const POST_MESSAGE_REQUEST_TYPES = {\n CONNECT: 'connect',\n DISCONNECT: 'disconnect',\n SIGN_MESSAGE: 'signMessage',\n SIGN_TRANSACTION: 'signTransaction',\n GET_ACCOUNTS: 'getAccounts',\n SELECT_ACCOUNT: 'selectAccount',\n} as const;\n\nexport type RequestType = typeof POST_MESSAGE_REQUEST_TYPES[keyof typeof POST_MESSAGE_REQUEST_TYPES];\n\nexport const EMBEDDED_PROVIDER_EVENTS = {\n CONNECT_START: 'connect_start',\n CONNECT: 'connect',\n DISCONNECT: 'disconnect',\n CONNECT_ERROR: 'connect_error',\n ERROR: 'error',\n LOCK: 'lock',\n ACCOUNT_CHANGED: 'account_changed',\n} as const;\n\nexport type EmbeddedProviderEvent =\n typeof EMBEDDED_PROVIDER_EVENTS[keyof typeof EMBEDDED_PROVIDER_EVENTS];\n\nexport const POST_MESSAGE_EVENT_TYPE = 'event' as const;\n\nexport const IFRAME_READY_EVENT = 'iframe:ready' as const;\n\nexport const DEFAULT_IFRAME_URL = '
|
|
1
|
+
{"version":3,"sources":["../src/postMessage.ts"],"names":[],"mappings":";AAEO,IAAM,0BAAA,GAA6B;AAAA,EACxC,OAAA,EAAS,SAAA;AAAA,EACT,UAAA,EAAY,YAAA;AAAA,EACZ,YAAA,EAAc,aAAA;AAAA,EACd,gBAAA,EAAkB,iBAAA;AAAA,EAClB,YAAA,EAAc,aAAA;AAAA,EACd,cAAA,EAAgB;AAClB;AAIO,IAAM,wBAAA,GAA2B;AAAA,EACtC,aAAA,EAAe,eAAA;AAAA,EACf,OAAA,EAAS,SAAA;AAAA,EACT,UAAA,EAAY,YAAA;AAAA,EACZ,aAAA,EAAe,eAAA;AAAA,EACf,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,SAAA;AAAA,EACT,eAAA,EAAiB;AACnB;AAKO,IAAM,uBAAA,GAA0B;AAEhC,IAAM,kBAAA,GAAqB;AAE3B,IAAM,kBAAA,GAAqB;AAElC,IAAM,iBAAA,GAAoB,KAAA;AAEnB,IAAM,eAAA,GAAkB,CAAC,MAAA,GAAiB,iBAAA,KAA8B;AAC7E,EAAA,MAAM,MAAA,GAAS,KAAK,MAAA,EAAO,CAAE,SAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACrD,EAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,KAAK,GAAA,EAAK,IAAI,MAAM,CAAA,CAAA;AAC1C;AA0GO,IAAM,SAAA,GAAY;AAAA,EACvB,aAAA,EAAe,eAAA;AAAA,EACf,aAAA,EAAe,eAAA;AAAA,EACf,gBAAA,EAAkB,kBAAA;AAAA,EAClB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,aAAA,EAAe,eAAA;AAAA,EACf,OAAA,EAAS,SAAA;AAAA,EACT,aAAA,EAAe;AACjB","file":"index.js","sourcesContent":["import type { AppMetadata, ConnectResult, WalletAccount } from '@thru/chain-interfaces';\n\nexport const POST_MESSAGE_REQUEST_TYPES = {\n CONNECT: 'connect',\n DISCONNECT: 'disconnect',\n SIGN_MESSAGE: 'signMessage',\n SIGN_TRANSACTION: 'signTransaction',\n GET_ACCOUNTS: 'getAccounts',\n SELECT_ACCOUNT: 'selectAccount',\n} as const;\n\nexport type RequestType = typeof POST_MESSAGE_REQUEST_TYPES[keyof typeof POST_MESSAGE_REQUEST_TYPES];\n\nexport const EMBEDDED_PROVIDER_EVENTS = {\n CONNECT_START: 'connect_start',\n CONNECT: 'connect',\n DISCONNECT: 'disconnect',\n CONNECT_ERROR: 'connect_error',\n ERROR: 'error',\n LOCK: 'lock',\n UI_SHOW: 'ui_show',\n ACCOUNT_CHANGED: 'account_changed',\n} as const;\n\nexport type EmbeddedProviderEvent =\n typeof EMBEDDED_PROVIDER_EVENTS[keyof typeof EMBEDDED_PROVIDER_EVENTS];\n\nexport const POST_MESSAGE_EVENT_TYPE = 'event' as const;\n\nexport const IFRAME_READY_EVENT = 'iframe:ready' as const;\n\nexport const DEFAULT_IFRAME_URL = 'http://localhost:3000/embedded';\n\nconst REQUEST_ID_PREFIX = 'req';\n\nexport const createRequestId = (prefix: string = REQUEST_ID_PREFIX): string => {\n const random = Math.random().toString(36).slice(2, 11);\n return `${prefix}_${Date.now()}_${random}`;\n};\n\ninterface BaseRequest {\n id: string;\n origin: string;\n}\n\nexport interface ConnectRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.CONNECT;\n payload: ConnectRequestPayload;\n}\n\nexport interface DisconnectRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.DISCONNECT;\n payload?: undefined;\n}\n\nexport interface SignMessageRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.SIGN_MESSAGE;\n payload: SignMessagePayload;\n}\n\nexport interface SignTransactionRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.SIGN_TRANSACTION;\n payload: SignTransactionPayload;\n}\n\nexport interface GetAccountsRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.GET_ACCOUNTS;\n payload?: undefined;\n}\n\nexport interface SelectAccountRequestMessage extends BaseRequest {\n type: typeof POST_MESSAGE_REQUEST_TYPES.SELECT_ACCOUNT;\n payload: SelectAccountPayload;\n}\n\nexport type PostMessageRequest =\n | ConnectRequestMessage\n | DisconnectRequestMessage\n | SignMessageRequestMessage\n | SignTransactionRequestMessage\n | GetAccountsRequestMessage\n | SelectAccountRequestMessage;\n\nexport interface DisconnectResult {\n // Empty object keeps compatibility with existing consumers expecting a success payload\n}\n\nexport interface GetAccountsResult {\n accounts: WalletAccount[];\n}\n\nexport interface SelectAccountPayload {\n publicKey: string;\n}\n\nexport interface SelectAccountResult {\n account: WalletAccount;\n}\n\ntype RequestResultMap = {\n [POST_MESSAGE_REQUEST_TYPES.CONNECT]: ConnectResult;\n [POST_MESSAGE_REQUEST_TYPES.DISCONNECT]: DisconnectResult;\n [POST_MESSAGE_REQUEST_TYPES.SIGN_MESSAGE]: SignMessageResult;\n [POST_MESSAGE_REQUEST_TYPES.SIGN_TRANSACTION]: SignTransactionResult;\n [POST_MESSAGE_REQUEST_TYPES.GET_ACCOUNTS]: GetAccountsResult;\n [POST_MESSAGE_REQUEST_TYPES.SELECT_ACCOUNT]: SelectAccountResult;\n};\n\ninterface ResponseErrorPayload {\n code: ErrorCode;\n message: string;\n}\n\ntype SuccessResponse<TType extends RequestType> = {\n id: string;\n success: true;\n result: RequestResultMap[TType];\n};\n\ntype ErrorResponse = {\n id: string;\n success: false;\n error: ResponseErrorPayload;\n};\n\nexport type PostMessageResponse<TType extends RequestType = RequestType> =\n | SuccessResponse<TType>\n | ErrorResponse;\n\nexport type SuccessfulPostMessageResponse<TType extends RequestType = RequestType> =\n Extract<PostMessageResponse<TType>, { success: true }>;\n\nexport type InferPostMessageResponse<TRequest extends PostMessageRequest> =\n PostMessageResponse<TRequest['type']>;\n\nexport type InferSuccessfulPostMessageResponse<TRequest extends PostMessageRequest> =\n SuccessfulPostMessageResponse<TRequest['type']>;\n\nexport interface PostMessageEvent<TEvent extends EmbeddedProviderEvent = EmbeddedProviderEvent, TData = any> {\n type: typeof POST_MESSAGE_EVENT_TYPE;\n event: TEvent;\n data?: TData;\n}\n\nexport const ErrorCode = {\n USER_REJECTED: 'USER_REJECTED',\n WALLET_LOCKED: 'WALLET_LOCKED',\n INVALID_PASSWORD: 'INVALID_PASSWORD',\n ALREADY_CONNECTED: 'ALREADY_CONNECTED',\n ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',\n INVALID_TRANSACTION: 'INVALID_TRANSACTION',\n TRANSACTION_FAILED: 'TRANSACTION_FAILED',\n INSUFFICIENT_FUNDS: 'INSUFFICIENT_FUNDS',\n NETWORK_ERROR: 'NETWORK_ERROR',\n TIMEOUT: 'TIMEOUT',\n UNKNOWN_ERROR: 'UNKNOWN_ERROR',\n} as const;\n\nexport type ErrorCode = typeof ErrorCode[keyof typeof ErrorCode];\n\nexport type ConnectMetadataInput = Partial<AppMetadata>;\n\nexport interface ConnectRequestPayload {\n metadata?: ConnectMetadataInput;\n}\n\nexport type { AppMetadata, ConnectResult };\n\nexport interface SignMessagePayload {\n message: string | number[];\n accountIndex?: number;\n}\n\nexport interface SignMessageResult {\n signature: number[];\n publicKey: string;\n}\n\nexport interface SignTransactionPayload {\n transaction: string;\n accountIndex?: number;\n}\n\nexport interface SignTransactionResult {\n signedTransaction: string;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thru/protocol",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@thru/chain-interfaces": "0.1
|
|
14
|
+
"@thru/chain-interfaces": "0.2.1"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsup",
|
package/src/postMessage.ts
CHANGED
|
@@ -18,6 +18,7 @@ export const EMBEDDED_PROVIDER_EVENTS = {
|
|
|
18
18
|
CONNECT_ERROR: 'connect_error',
|
|
19
19
|
ERROR: 'error',
|
|
20
20
|
LOCK: 'lock',
|
|
21
|
+
UI_SHOW: 'ui_show',
|
|
21
22
|
ACCOUNT_CHANGED: 'account_changed',
|
|
22
23
|
} as const;
|
|
23
24
|
|
|
@@ -28,7 +29,7 @@ export const POST_MESSAGE_EVENT_TYPE = 'event' as const;
|
|
|
28
29
|
|
|
29
30
|
export const IFRAME_READY_EVENT = 'iframe:ready' as const;
|
|
30
31
|
|
|
31
|
-
export const DEFAULT_IFRAME_URL = '
|
|
32
|
+
export const DEFAULT_IFRAME_URL = 'http://localhost:3000/embedded';
|
|
32
33
|
|
|
33
34
|
const REQUEST_ID_PREFIX = 'req';
|
|
34
35
|
|