@avalabs/vm-module-types 0.1.7 → 0.1.9
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/chunk-BNOZJ4QS.js +5 -0
- package/dist/chunk-BNOZJ4QS.js.map +1 -0
- package/dist/chunk-HSGN5OZW.cjs +8 -0
- package/dist/chunk-HSGN5OZW.cjs.map +1 -0
- package/dist/coingecko.d.cts +4 -4
- package/dist/coingecko.d.ts +4 -4
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/rpc.cjs +3 -3
- package/dist/rpc.d.cts +29 -5
- package/dist/rpc.d.ts +29 -5
- package/dist/rpc.js +1 -1
- package/package.json +7 -5
- package/dist/chunk-HN4DUGTT.cjs +0 -8
- package/dist/chunk-HN4DUGTT.cjs.map +0 -1
- package/dist/chunk-OER2CERE.js +0 -5
- package/dist/chunk-OER2CERE.js.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var a=(t=>(t.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",t.ETH_SEND_TRANSACTION="eth_sendTransaction",t.SIGN_TYPED_DATA_V3="eth_signTypedData_v3",t.SIGN_TYPED_DATA_V4="eth_signTypedData_v4",t.SIGN_TYPED_DATA_V1="eth_signTypedData_v1",t.SIGN_TYPED_DATA="eth_signTypedData",t.PERSONAL_SIGN="personal_sign",t.ETH_SIGN="eth_sign",t.AVALANCHE_SIGN_MESSAGE="avalanche_signMessage",t.AVALANCHE_SEND_TRANSACTION="avalanche_sendTransaction",t.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",t))(a||{}),n=(e=>(e.WARNING="Warning",e.DANGER="Danger",e.INFO="Info",e))(n||{});
|
|
2
|
+
|
|
3
|
+
export { a, n as b };
|
|
4
|
+
//# sourceMappingURL=out.js.map
|
|
5
|
+
//# sourceMappingURL=chunk-BNOZJ4QS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","AlertType"],"mappings":"AAOO,IAAKA,OAEVA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAC7BA,EAAA,2BAA6B,4BAhBnBA,OAAA,IAoGAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { Avalanche } from '@avalabs/core-wallets-sdk';\nimport type { BlockchainDetails, ChainDetails, ExportImportTxDetails, StakingDetails, SubnetDetails } from './staking';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n AVALANCHE_SIGN_TRANSACTION = 'avalanche_signTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type TransactionDetails = {\n website: string;\n from: string;\n to: string;\n data?: string;\n type?: string;\n};\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n messageDetails?: string;\n transactionDetails?: TransactionDetails | ExportImportTxDetails;\n stakingDetails?: StakingDetails;\n chainDetails?: ChainDetails;\n blockchainDetails?: BlockchainDetails;\n subnetDetails?: SubnetDetails;\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n }\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n ownSignatureIndices: [number, number][];\n };\n\nexport type ApprovalParams = {\n request: RpcRequest;\n displayData: DisplayData;\n signingData: SigningData;\n};\n\n/**\n * We want to accept both a signed data (tx/message) and a tx hash as a response\n * coming in from the client apps, hence the XORs here.\n *\n * The reason we need to support both is because extension allows importing\n * external software wallets, such as Fireblocks or other apps that support\n * the WalletConnect protocol.\n *\n * My experience is that WalletConnect apps rarely, if ever, support\n * \"eth_signTransaction\" requests and more often only allow sending\n * \"eth_sendTransaction\" calls, which means that all we'll get in response\n * from them is the transaction hash (not a signed tx).\n */\nexport type SigningResult = { signedData: string } | { txHash: string };\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex) => void;\n onTransactionReverted: (txHash: Hex) => void;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var a=(t=>(t.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",t.ETH_SEND_TRANSACTION="eth_sendTransaction",t.SIGN_TYPED_DATA_V3="eth_signTypedData_v3",t.SIGN_TYPED_DATA_V4="eth_signTypedData_v4",t.SIGN_TYPED_DATA_V1="eth_signTypedData_v1",t.SIGN_TYPED_DATA="eth_signTypedData",t.PERSONAL_SIGN="personal_sign",t.ETH_SIGN="eth_sign",t.AVALANCHE_SIGN_MESSAGE="avalanche_signMessage",t.AVALANCHE_SEND_TRANSACTION="avalanche_sendTransaction",t.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",t))(a||{}),n=(e=>(e.WARNING="Warning",e.DANGER="Danger",e.INFO="Info",e))(n||{});
|
|
4
|
+
|
|
5
|
+
exports.a = a;
|
|
6
|
+
exports.b = n;
|
|
7
|
+
//# sourceMappingURL=out.js.map
|
|
8
|
+
//# sourceMappingURL=chunk-HSGN5OZW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","AlertType"],"mappings":"AAOO,IAAKA,OAEVA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAC7BA,EAAA,2BAA6B,4BAhBnBA,OAAA,IAoGAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { Avalanche } from '@avalabs/core-wallets-sdk';\nimport type { BlockchainDetails, ChainDetails, ExportImportTxDetails, StakingDetails, SubnetDetails } from './staking';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n AVALANCHE_SIGN_TRANSACTION = 'avalanche_signTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type TransactionDetails = {\n website: string;\n from: string;\n to: string;\n data?: string;\n type?: string;\n};\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n messageDetails?: string;\n transactionDetails?: TransactionDetails | ExportImportTxDetails;\n stakingDetails?: StakingDetails;\n chainDetails?: ChainDetails;\n blockchainDetails?: BlockchainDetails;\n subnetDetails?: SubnetDetails;\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n }\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n ownSignatureIndices: [number, number][];\n };\n\nexport type ApprovalParams = {\n request: RpcRequest;\n displayData: DisplayData;\n signingData: SigningData;\n};\n\n/**\n * We want to accept both a signed data (tx/message) and a tx hash as a response\n * coming in from the client apps, hence the XORs here.\n *\n * The reason we need to support both is because extension allows importing\n * external software wallets, such as Fireblocks or other apps that support\n * the WalletConnect protocol.\n *\n * My experience is that WalletConnect apps rarely, if ever, support\n * \"eth_signTransaction\" requests and more often only allow sending\n * \"eth_sendTransaction\" calls, which means that all we'll get in response\n * from them is the transaction hash (not a signed tx).\n */\nexport type SigningResult = { signedData: string } | { txHash: string };\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex) => void;\n onTransactionReverted: (txHash: Hex) => void;\n}\n"]}
|
package/dist/coingecko.d.cts
CHANGED
|
@@ -6,15 +6,15 @@ declare const SimplePriceResponseSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.
|
|
|
6
6
|
marketCap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
7
7
|
vol24: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
price?: number | null | undefined;
|
|
10
|
-
change24?: number | null | undefined;
|
|
11
9
|
marketCap?: number | null | undefined;
|
|
10
|
+
change24?: number | null | undefined;
|
|
12
11
|
vol24?: number | null | undefined;
|
|
13
|
-
}, {
|
|
14
12
|
price?: number | null | undefined;
|
|
15
|
-
|
|
13
|
+
}, {
|
|
16
14
|
marketCap?: number | null | undefined;
|
|
15
|
+
change24?: number | null | undefined;
|
|
17
16
|
vol24?: number | null | undefined;
|
|
17
|
+
price?: number | null | undefined;
|
|
18
18
|
}>>>;
|
|
19
19
|
type SimplePriceResponse = z.infer<typeof SimplePriceResponseSchema>;
|
|
20
20
|
declare const RawSimplePriceResponseSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodNullable<z.ZodNumber>>>>;
|
package/dist/coingecko.d.ts
CHANGED
|
@@ -6,15 +6,15 @@ declare const SimplePriceResponseSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.
|
|
|
6
6
|
marketCap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
7
7
|
vol24: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
price?: number | null | undefined;
|
|
10
|
-
change24?: number | null | undefined;
|
|
11
9
|
marketCap?: number | null | undefined;
|
|
10
|
+
change24?: number | null | undefined;
|
|
12
11
|
vol24?: number | null | undefined;
|
|
13
|
-
}, {
|
|
14
12
|
price?: number | null | undefined;
|
|
15
|
-
|
|
13
|
+
}, {
|
|
16
14
|
marketCap?: number | null | undefined;
|
|
15
|
+
change24?: number | null | undefined;
|
|
17
16
|
vol24?: number | null | undefined;
|
|
17
|
+
price?: number | null | undefined;
|
|
18
18
|
}>>>;
|
|
19
19
|
type SimplePriceResponse = z.infer<typeof SimplePriceResponseSchema>;
|
|
20
20
|
declare const RawSimplePriceResponseSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodNullable<z.ZodNumber>>>>;
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHSGN5OZW_cjs = require('./chunk-HSGN5OZW.cjs');
|
|
4
4
|
var chunkIQNJXPS3_cjs = require('./chunk-IQNJXPS3.cjs');
|
|
5
5
|
var chunk2KGTZTXY_cjs = require('./chunk-2KGTZTXY.cjs');
|
|
6
6
|
var chunkB6DAZDIA_cjs = require('./chunk-B6DAZDIA.cjs');
|
|
@@ -17,11 +17,11 @@ require('./chunk-AILYKQEY.cjs');
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, 'AlertType', {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkHSGN5OZW_cjs.b; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunkHSGN5OZW_cjs.a; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, 'TxType', {
|
|
27
27
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ export { GetBalancesParams, GetBalancesResponse, NetworkTokenWithBalance, NftTok
|
|
|
4
4
|
export { Manifest, parseManifest } from './manifest.cjs';
|
|
5
5
|
export { Module } from './module.cjs';
|
|
6
6
|
export { NetworkFees } from './network-fee.cjs';
|
|
7
|
-
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, TransactionDetails, TypedData, TypedDataV1 } from './rpc.cjs';
|
|
7
|
+
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningResult, TransactionDetails, TypedData, TypedDataV1 } from './rpc.cjs';
|
|
8
8
|
export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, TokenType } from './token.cjs';
|
|
9
9
|
export { GetTransactionHistory, PChainTransactionType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType } from './transaction-history.cjs';
|
|
10
10
|
export { BalanceChange, TokenApproval, TokenApprovals, TokenDiff, TokenDiffItem } from './transaction-simulation.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { GetBalancesParams, GetBalancesResponse, NetworkTokenWithBalance, NftTok
|
|
|
4
4
|
export { Manifest, parseManifest } from './manifest.js';
|
|
5
5
|
export { Module } from './module.js';
|
|
6
6
|
export { NetworkFees } from './network-fee.js';
|
|
7
|
-
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, TransactionDetails, TypedData, TypedDataV1 } from './rpc.js';
|
|
7
|
+
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningResult, TransactionDetails, TypedData, TypedDataV1 } from './rpc.js';
|
|
8
8
|
export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, TokenType } from './token.js';
|
|
9
9
|
export { GetTransactionHistory, PChainTransactionType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType } from './transaction-history.js';
|
|
10
10
|
export { BalanceChange, TokenApproval, TokenApprovals, TokenDiff, TokenDiffItem } from './transaction-simulation.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { b as AlertType, a as RpcMethod } from './chunk-
|
|
1
|
+
export { b as AlertType, a as RpcMethod } from './chunk-BNOZJ4QS.js';
|
|
2
2
|
export { a as TxType } from './chunk-2SJQLDBB.js';
|
|
3
3
|
export { a as TokenType } from './chunk-7Y6UGMPZ.js';
|
|
4
4
|
export { b as PChainTransactionType, a as TransactionType, c as XChainTransactionType } from './chunk-7JLXTNPE.js';
|
package/dist/rpc.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHSGN5OZW_cjs = require('./chunk-HSGN5OZW.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, 'AlertType', {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkHSGN5OZW_cjs.b; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkHSGN5OZW_cjs.a; }
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=out.js.map
|
|
16
16
|
//# sourceMappingURL=rpc.cjs.map
|
package/dist/rpc.d.cts
CHANGED
|
@@ -7,6 +7,7 @@ import { ExportImportTxDetails, StakingDetails, ChainDetails, BlockchainDetails,
|
|
|
7
7
|
import './token.cjs';
|
|
8
8
|
|
|
9
9
|
declare enum RpcMethod {
|
|
10
|
+
BITCOIN_SEND_TRANSACTION = "bitcoin_sendTransaction",
|
|
10
11
|
ETH_SEND_TRANSACTION = "eth_sendTransaction",
|
|
11
12
|
SIGN_TYPED_DATA_V3 = "eth_signTypedData_v3",
|
|
12
13
|
SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4",
|
|
@@ -15,7 +16,8 @@ declare enum RpcMethod {
|
|
|
15
16
|
PERSONAL_SIGN = "personal_sign",
|
|
16
17
|
ETH_SIGN = "eth_sign",
|
|
17
18
|
AVALANCHE_SIGN_MESSAGE = "avalanche_signMessage",
|
|
18
|
-
AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction"
|
|
19
|
+
AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction",
|
|
20
|
+
AVALANCHE_SIGN_TRANSACTION = "avalanche_signTransaction"
|
|
19
21
|
}
|
|
20
22
|
type DappInfo = {
|
|
21
23
|
name: string;
|
|
@@ -131,21 +133,43 @@ type SigningData = {
|
|
|
131
133
|
unsignedTxJson: string;
|
|
132
134
|
data: Avalanche.Tx;
|
|
133
135
|
vm: 'EVM' | 'AVM' | 'PVM';
|
|
136
|
+
} | {
|
|
137
|
+
type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;
|
|
138
|
+
unsignedTxJson: string;
|
|
139
|
+
data: Avalanche.Tx;
|
|
140
|
+
vm: 'EVM' | 'AVM' | 'PVM';
|
|
141
|
+
ownSignatureIndices: [number, number][];
|
|
134
142
|
};
|
|
135
143
|
type ApprovalParams = {
|
|
136
144
|
request: RpcRequest;
|
|
137
145
|
displayData: DisplayData;
|
|
138
146
|
signingData: SigningData;
|
|
139
147
|
};
|
|
140
|
-
|
|
141
|
-
|
|
148
|
+
/**
|
|
149
|
+
* We want to accept both a signed data (tx/message) and a tx hash as a response
|
|
150
|
+
* coming in from the client apps, hence the XORs here.
|
|
151
|
+
*
|
|
152
|
+
* The reason we need to support both is because extension allows importing
|
|
153
|
+
* external software wallets, such as Fireblocks or other apps that support
|
|
154
|
+
* the WalletConnect protocol.
|
|
155
|
+
*
|
|
156
|
+
* My experience is that WalletConnect apps rarely, if ever, support
|
|
157
|
+
* "eth_signTransaction" requests and more often only allow sending
|
|
158
|
+
* "eth_sendTransaction" calls, which means that all we'll get in response
|
|
159
|
+
* from them is the transaction hash (not a signed tx).
|
|
160
|
+
*/
|
|
161
|
+
type SigningResult = {
|
|
162
|
+
signedData: string;
|
|
142
163
|
} | {
|
|
143
|
-
|
|
164
|
+
txHash: string;
|
|
144
165
|
};
|
|
166
|
+
type ApprovalResponse = {
|
|
167
|
+
error: RpcError;
|
|
168
|
+
} | SigningResult;
|
|
145
169
|
interface ApprovalController {
|
|
146
170
|
requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;
|
|
147
171
|
onTransactionConfirmed: (txHash: Hex) => void;
|
|
148
172
|
onTransactionReverted: (txHash: Hex) => void;
|
|
149
173
|
}
|
|
150
174
|
|
|
151
|
-
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, TransactionDetails, TypedData, TypedDataV1 };
|
|
175
|
+
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningResult, TransactionDetails, TypedData, TypedDataV1 };
|
package/dist/rpc.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { ExportImportTxDetails, StakingDetails, ChainDetails, BlockchainDetails,
|
|
|
7
7
|
import './token.js';
|
|
8
8
|
|
|
9
9
|
declare enum RpcMethod {
|
|
10
|
+
BITCOIN_SEND_TRANSACTION = "bitcoin_sendTransaction",
|
|
10
11
|
ETH_SEND_TRANSACTION = "eth_sendTransaction",
|
|
11
12
|
SIGN_TYPED_DATA_V3 = "eth_signTypedData_v3",
|
|
12
13
|
SIGN_TYPED_DATA_V4 = "eth_signTypedData_v4",
|
|
@@ -15,7 +16,8 @@ declare enum RpcMethod {
|
|
|
15
16
|
PERSONAL_SIGN = "personal_sign",
|
|
16
17
|
ETH_SIGN = "eth_sign",
|
|
17
18
|
AVALANCHE_SIGN_MESSAGE = "avalanche_signMessage",
|
|
18
|
-
AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction"
|
|
19
|
+
AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction",
|
|
20
|
+
AVALANCHE_SIGN_TRANSACTION = "avalanche_signTransaction"
|
|
19
21
|
}
|
|
20
22
|
type DappInfo = {
|
|
21
23
|
name: string;
|
|
@@ -131,21 +133,43 @@ type SigningData = {
|
|
|
131
133
|
unsignedTxJson: string;
|
|
132
134
|
data: Avalanche.Tx;
|
|
133
135
|
vm: 'EVM' | 'AVM' | 'PVM';
|
|
136
|
+
} | {
|
|
137
|
+
type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;
|
|
138
|
+
unsignedTxJson: string;
|
|
139
|
+
data: Avalanche.Tx;
|
|
140
|
+
vm: 'EVM' | 'AVM' | 'PVM';
|
|
141
|
+
ownSignatureIndices: [number, number][];
|
|
134
142
|
};
|
|
135
143
|
type ApprovalParams = {
|
|
136
144
|
request: RpcRequest;
|
|
137
145
|
displayData: DisplayData;
|
|
138
146
|
signingData: SigningData;
|
|
139
147
|
};
|
|
140
|
-
|
|
141
|
-
|
|
148
|
+
/**
|
|
149
|
+
* We want to accept both a signed data (tx/message) and a tx hash as a response
|
|
150
|
+
* coming in from the client apps, hence the XORs here.
|
|
151
|
+
*
|
|
152
|
+
* The reason we need to support both is because extension allows importing
|
|
153
|
+
* external software wallets, such as Fireblocks or other apps that support
|
|
154
|
+
* the WalletConnect protocol.
|
|
155
|
+
*
|
|
156
|
+
* My experience is that WalletConnect apps rarely, if ever, support
|
|
157
|
+
* "eth_signTransaction" requests and more often only allow sending
|
|
158
|
+
* "eth_sendTransaction" calls, which means that all we'll get in response
|
|
159
|
+
* from them is the transaction hash (not a signed tx).
|
|
160
|
+
*/
|
|
161
|
+
type SigningResult = {
|
|
162
|
+
signedData: string;
|
|
142
163
|
} | {
|
|
143
|
-
|
|
164
|
+
txHash: string;
|
|
144
165
|
};
|
|
166
|
+
type ApprovalResponse = {
|
|
167
|
+
error: RpcError;
|
|
168
|
+
} | SigningResult;
|
|
145
169
|
interface ApprovalController {
|
|
146
170
|
requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;
|
|
147
171
|
onTransactionConfirmed: (txHash: Hex) => void;
|
|
148
172
|
onTransactionReverted: (txHash: Hex) => void;
|
|
149
173
|
}
|
|
150
174
|
|
|
151
|
-
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, TransactionDetails, TypedData, TypedDataV1 };
|
|
175
|
+
export { Alert, AlertDetails, AlertType, ApprovalController, ApprovalParams, ApprovalResponse, DappInfo, DisplayData, MessageTypeProperty, MessageTypes, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningResult, TransactionDetails, TypedData, TypedDataV1 };
|
package/dist/rpc.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avalabs/vm-module-types",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"main": "dist/index.cjs",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -11,18 +11,20 @@
|
|
|
11
11
|
],
|
|
12
12
|
"license": "Limited Ecosystem License",
|
|
13
13
|
"dependencies": {
|
|
14
|
+
"@avalabs/core-wallets-sdk": "3.1.0-alpha.1",
|
|
14
15
|
"zod": "3.23.8",
|
|
15
16
|
"@metamask/rpc-errors": "6.3.0",
|
|
16
17
|
"ethers": "6.8.1",
|
|
17
|
-
"
|
|
18
|
+
"bitcoinjs-lib": "5.2.0"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"tsup": "7.2.0",
|
|
21
22
|
"bn.js": "5.2.1",
|
|
22
23
|
"@types/bn.js": "5.1.5",
|
|
23
|
-
"@avalabs/core-coingecko-sdk": "3.1.0-alpha.
|
|
24
|
-
"@avalabs/glacier-sdk": "3.1.0-alpha.
|
|
25
|
-
"@avalabs/core-utils-sdk": "3.1.0-alpha.
|
|
24
|
+
"@avalabs/core-coingecko-sdk": "3.1.0-alpha.1",
|
|
25
|
+
"@avalabs/glacier-sdk": "3.1.0-alpha.1",
|
|
26
|
+
"@avalabs/core-utils-sdk": "3.1.0-alpha.1",
|
|
27
|
+
"@avalabs/core-wallets-sdk": "3.0.1-alpha.1",
|
|
26
28
|
"@internal/tsup-config": "0.0.1",
|
|
27
29
|
"eslint-config-custom": "0.0.1"
|
|
28
30
|
},
|
package/dist/chunk-HN4DUGTT.cjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var a=(e=>(e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.SIGN_TYPED_DATA_V3="eth_signTypedData_v3",e.SIGN_TYPED_DATA_V4="eth_signTypedData_v4",e.SIGN_TYPED_DATA_V1="eth_signTypedData_v1",e.SIGN_TYPED_DATA="eth_signTypedData",e.PERSONAL_SIGN="personal_sign",e.ETH_SIGN="eth_sign",e.AVALANCHE_SIGN_MESSAGE="avalanche_signMessage",e.AVALANCHE_SEND_TRANSACTION="avalanche_sendTransaction",e))(a||{}),n=(t=>(t.WARNING="Warning",t.DANGER="Danger",t.INFO="Info",t))(n||{});
|
|
4
|
-
|
|
5
|
-
exports.a = a;
|
|
6
|
-
exports.b = n;
|
|
7
|
-
//# sourceMappingURL=out.js.map
|
|
8
|
-
//# sourceMappingURL=chunk-HN4DUGTT.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","AlertType"],"mappings":"AAOO,IAAKA,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAZnBA,OAAA,IAgGAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { Avalanche } from '@avalabs/core-wallets-sdk';\nimport type { StakingDetails, ExportImportTxDetails, ChainDetails, BlockchainDetails, SubnetDetails } from './staking';\n\nexport enum RpcMethod {\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type TransactionDetails = {\n website: string;\n from: string;\n to: string;\n data?: string;\n type?: string;\n};\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n messageDetails?: string;\n transactionDetails?: TransactionDetails | ExportImportTxDetails;\n stakingDetails?: StakingDetails;\n chainDetails?: ChainDetails;\n blockchainDetails?: BlockchainDetails;\n subnetDetails?: SubnetDetails;\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n }\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n };\n\nexport type ApprovalParams = {\n request: RpcRequest;\n displayData: DisplayData;\n signingData: SigningData;\n};\n\nexport type ApprovalResponse =\n | {\n result: Hex;\n }\n | {\n error: RpcError;\n };\n\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex) => void;\n onTransactionReverted: (txHash: Hex) => void;\n}\n"]}
|
package/dist/chunk-OER2CERE.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var a=(e=>(e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.SIGN_TYPED_DATA_V3="eth_signTypedData_v3",e.SIGN_TYPED_DATA_V4="eth_signTypedData_v4",e.SIGN_TYPED_DATA_V1="eth_signTypedData_v1",e.SIGN_TYPED_DATA="eth_signTypedData",e.PERSONAL_SIGN="personal_sign",e.ETH_SIGN="eth_sign",e.AVALANCHE_SIGN_MESSAGE="avalanche_signMessage",e.AVALANCHE_SEND_TRANSACTION="avalanche_sendTransaction",e))(a||{}),n=(t=>(t.WARNING="Warning",t.DANGER="Danger",t.INFO="Info",t))(n||{});
|
|
2
|
-
|
|
3
|
-
export { a, n as b };
|
|
4
|
-
//# sourceMappingURL=out.js.map
|
|
5
|
-
//# sourceMappingURL=chunk-OER2CERE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","AlertType"],"mappings":"AAOO,IAAKA,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAZnBA,OAAA,IAgGAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { Avalanche } from '@avalabs/core-wallets-sdk';\nimport type { StakingDetails, ExportImportTxDetails, ChainDetails, BlockchainDetails, SubnetDetails } from './staking';\n\nexport enum RpcMethod {\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type TransactionDetails = {\n website: string;\n from: string;\n to: string;\n data?: string;\n type?: string;\n};\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n messageDetails?: string;\n transactionDetails?: TransactionDetails | ExportImportTxDetails;\n stakingDetails?: StakingDetails;\n chainDetails?: ChainDetails;\n blockchainDetails?: BlockchainDetails;\n subnetDetails?: SubnetDetails;\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n }\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n };\n\nexport type ApprovalParams = {\n request: RpcRequest;\n displayData: DisplayData;\n signingData: SigningData;\n};\n\nexport type ApprovalResponse =\n | {\n result: Hex;\n }\n | {\n error: RpcError;\n };\n\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex) => void;\n onTransactionReverted: (txHash: Hex) => void;\n}\n"]}
|