@avalabs/vm-module-types 4.2.0 → 5.0.0
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-FMBTNWZP.js → chunk-IRAKF5G6.js} +3 -3
- package/dist/chunk-IRAKF5G6.js.map +1 -0
- package/dist/{chunk-6K5NSJZP.cjs → chunk-YRLTHIJU.cjs} +4 -4
- package/dist/chunk-YRLTHIJU.cjs.map +1 -0
- package/dist/coingecko.d.cts +4 -4
- package/dist/coingecko.d.ts +4 -4
- package/dist/index.cjs +4 -4
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/module.d.cts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/{rpc-4699ee82.d.ts → rpc-3a7605e0.d.ts} +4 -3
- package/dist/{rpc-bbfb0e02.d.ts → rpc-803487ef.d.ts} +4 -3
- package/dist/rpc.cjs +4 -4
- package/dist/rpc.d.cts +1 -1
- package/dist/rpc.d.ts +1 -1
- package/dist/rpc.js +1 -1
- package/dist/transaction-simulation.d.cts +1 -1
- package/dist/transaction-simulation.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-6K5NSJZP.cjs.map +0 -1
- package/dist/chunk-FMBTNWZP.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var n=(e=>(e.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",e.BITCOIN_SIGN_TRANSACTION="bitcoin_signTransaction",e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.ETH_SEND_TRANSACTION_BATCH="eth_sendTransactionBatch",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.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",e.AVALANCHE_DECLARE_AGENT_IDENTITY="avalanche_declareAgentIdentity",e.HVM_SIGN_TRANSACTION="hvm_signTransaction",e.SOLANA_SIGN_TRANSACTION="solana_signTransaction",e.SOLANA_SIGN_AND_SEND_TRANSACTION="solana_signAndSendTransaction",e.SOLANA_SIGN_MESSAGE="solana_signMessage",e))(n||{}),
|
|
1
|
+
var n=(e=>(e.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",e.BITCOIN_SIGN_TRANSACTION="bitcoin_signTransaction",e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.ETH_SEND_TRANSACTION_BATCH="eth_sendTransactionBatch",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.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",e.AVALANCHE_DECLARE_AGENT_IDENTITY="avalanche_declareAgentIdentity",e.HVM_SIGN_TRANSACTION="hvm_signTransaction",e.SOLANA_SIGN_TRANSACTION="solana_signTransaction",e.SOLANA_SIGN_AND_SEND_TRANSACTION="solana_signAndSendTransaction",e.SOLANA_SIGN_MESSAGE="solana_signMessage",e))(n||{}),i=(t=>(t.TEXT="text",t.ADDRESS="address",t.ADDRESS_LIST="addressList",t.NODE_ID="nodeID",t.CURRENCY="currency",t.FUNDS_RECIPIENT="fundsRecipient",t.DATA="data",t.DATE="date",t.LINK="link",t.NETWORK="network",t.TRANSFER_LIST="transferList",t.COLLAPSIBLE_GROUP="collapsibleGroup",t))(i||{}),r=(a=>(a.WARNING="Warning",a.DANGER="Danger",a.INFO="Info",a))(r||{});
|
|
2
2
|
|
|
3
|
-
export { n as a,
|
|
3
|
+
export { n as a, i as b, r as c };
|
|
4
4
|
//# sourceMappingURL=out.js.map
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
5
|
+
//# sourceMappingURL=chunk-IRAKF5G6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,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,4BAC7BA,EAAA,iCAAmC,iCAGnCA,EAAA,qBAAuB,sBAGvBA,EAAA,wBAA0B,yBAC1BA,EAAA,iCAAmC,gCACnCA,EAAA,oBAAsB,qBA3BZA,OAAA,IAsFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,aAAe,cACfA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,cAAgB,eAChBA,EAAA,kBAAoB,mBAZVA,OAAA,IA+IAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\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 AVALANCHE_DECLARE_AGENT_IDENTITY = 'avalanche_declareAgentIdentity',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n\n /* SOLANA */\n SOLANA_SIGN_TRANSACTION = 'solana_signTransaction',\n SOLANA_SIGN_AND_SEND_TRANSACTION = 'solana_signAndSendTransaction',\n SOLANA_SIGN_MESSAGE = 'solana_signMessage',\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 DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n ADDRESS_LIST = 'addressList',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n NETWORK = 'network',\n TRANSFER_LIST = 'transferList',\n COLLAPSIBLE_GROUP = 'collapsibleGroup',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type AddressListItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS_LIST;\n value: string[];\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n isNativeToken?: boolean;\n isAssetLabel?: boolean;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type NetworkItemValue = {\n logoUri: string | undefined;\n name: string;\n};\n\nexport type NetworkItem = BaseDetailItem & {\n type: DetailItemType.NETWORK;\n value: NetworkItemValue;\n};\n\nexport type Transfer = {\n addresses: string[];\n amount: bigint;\n assetId: string;\n symbol?: string;\n decimals?: number;\n assetName?: string;\n threshold?: number;\n lockedUntil?: number | 'indefinitely';\n stakeableLockedUntil?: number | 'indefinitely';\n isNativeToken?: boolean;\n isStaked?: boolean;\n stakedUntil?: number | 'indefinitely';\n};\n\nexport type TransferListItem = BaseDetailItem & {\n type: DetailItemType.TRANSFER_LIST;\n value: Transfer[];\n};\n\nexport type CollapsibleGroupItem = BaseDetailItem & {\n type: DetailItemType.COLLAPSIBLE_GROUP;\n value: DetailSection[];\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | AddressListItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem\n | NetworkItem\n | TransferListItem\n | CollapsibleGroupItem;\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 details: DetailSection[];\n networkFeeSelector?: boolean;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\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 body?: 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 BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_MESSAGE;\n account: string;\n data: string; // Base-64 encoded message\n }\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\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 externalIndices?: number[];\n internalIndices?: number[];\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 | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n gasLimit?: number;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\nexport type RequestPublicKeyParams = {\n secretId: string;\n curve: 'secp256k1' | 'ed25519';\n derivationPath?: string;\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 */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;\n onTransactionPending: ({\n txHash,\n request,\n explorerLink,\n }: {\n txHash: string;\n request: RpcRequest;\n explorerLink: string;\n }) => void;\n onTransactionConfirmed: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n onTransactionReverted: ({ txHash, request }: { txHash: string; request: RpcRequest }) => void;\n /**\n * Called when the module gave up waiting for a terminal status without ever\n * learning one — the node stopped answering, or kept reporting the tx as\n * processing until the poll budget ran out. The transaction may still have\n * been accepted, so this is deliberately neither a confirmation nor a\n * revert: consumers should stop showing an in-progress state and point the\n * user at the explorer.\n *\n * Optional so existing consumers keep compiling; a module that has nothing\n * better to report simply stays silent when it is not implemented.\n */\n onTransactionStatusUnknown?: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var n=(e=>(e.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",e.BITCOIN_SIGN_TRANSACTION="bitcoin_signTransaction",e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.ETH_SEND_TRANSACTION_BATCH="eth_sendTransactionBatch",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.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",e.AVALANCHE_DECLARE_AGENT_IDENTITY="avalanche_declareAgentIdentity",e.HVM_SIGN_TRANSACTION="hvm_signTransaction",e.SOLANA_SIGN_TRANSACTION="solana_signTransaction",e.SOLANA_SIGN_AND_SEND_TRANSACTION="solana_signAndSendTransaction",e.SOLANA_SIGN_MESSAGE="solana_signMessage",e))(n||{}),
|
|
3
|
+
var n=(e=>(e.BITCOIN_SEND_TRANSACTION="bitcoin_sendTransaction",e.BITCOIN_SIGN_TRANSACTION="bitcoin_signTransaction",e.ETH_SEND_TRANSACTION="eth_sendTransaction",e.ETH_SEND_TRANSACTION_BATCH="eth_sendTransactionBatch",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.AVALANCHE_SIGN_TRANSACTION="avalanche_signTransaction",e.AVALANCHE_DECLARE_AGENT_IDENTITY="avalanche_declareAgentIdentity",e.HVM_SIGN_TRANSACTION="hvm_signTransaction",e.SOLANA_SIGN_TRANSACTION="solana_signTransaction",e.SOLANA_SIGN_AND_SEND_TRANSACTION="solana_signAndSendTransaction",e.SOLANA_SIGN_MESSAGE="solana_signMessage",e))(n||{}),i=(t=>(t.TEXT="text",t.ADDRESS="address",t.ADDRESS_LIST="addressList",t.NODE_ID="nodeID",t.CURRENCY="currency",t.FUNDS_RECIPIENT="fundsRecipient",t.DATA="data",t.DATE="date",t.LINK="link",t.NETWORK="network",t.TRANSFER_LIST="transferList",t.COLLAPSIBLE_GROUP="collapsibleGroup",t))(i||{}),r=(a=>(a.WARNING="Warning",a.DANGER="Danger",a.INFO="Info",a))(r||{});
|
|
4
4
|
|
|
5
5
|
exports.a = n;
|
|
6
|
-
exports.b =
|
|
7
|
-
exports.c =
|
|
6
|
+
exports.b = i;
|
|
7
|
+
exports.c = r;
|
|
8
8
|
//# sourceMappingURL=out.js.map
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
9
|
+
//# sourceMappingURL=chunk-YRLTHIJU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,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,4BAC7BA,EAAA,iCAAmC,iCAGnCA,EAAA,qBAAuB,sBAGvBA,EAAA,wBAA0B,yBAC1BA,EAAA,iCAAmC,gCACnCA,EAAA,oBAAsB,qBA3BZA,OAAA,IAsFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,aAAe,cACfA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,cAAgB,eAChBA,EAAA,kBAAoB,mBAZVA,OAAA,IA+IAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\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 AVALANCHE_DECLARE_AGENT_IDENTITY = 'avalanche_declareAgentIdentity',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n\n /* SOLANA */\n SOLANA_SIGN_TRANSACTION = 'solana_signTransaction',\n SOLANA_SIGN_AND_SEND_TRANSACTION = 'solana_signAndSendTransaction',\n SOLANA_SIGN_MESSAGE = 'solana_signMessage',\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 DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n ADDRESS_LIST = 'addressList',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n NETWORK = 'network',\n TRANSFER_LIST = 'transferList',\n COLLAPSIBLE_GROUP = 'collapsibleGroup',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type AddressListItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS_LIST;\n value: string[];\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n isNativeToken?: boolean;\n isAssetLabel?: boolean;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type NetworkItemValue = {\n logoUri: string | undefined;\n name: string;\n};\n\nexport type NetworkItem = BaseDetailItem & {\n type: DetailItemType.NETWORK;\n value: NetworkItemValue;\n};\n\nexport type Transfer = {\n addresses: string[];\n amount: bigint;\n assetId: string;\n symbol?: string;\n decimals?: number;\n assetName?: string;\n threshold?: number;\n lockedUntil?: number | 'indefinitely';\n stakeableLockedUntil?: number | 'indefinitely';\n isNativeToken?: boolean;\n isStaked?: boolean;\n stakedUntil?: number | 'indefinitely';\n};\n\nexport type TransferListItem = BaseDetailItem & {\n type: DetailItemType.TRANSFER_LIST;\n value: Transfer[];\n};\n\nexport type CollapsibleGroupItem = BaseDetailItem & {\n type: DetailItemType.COLLAPSIBLE_GROUP;\n value: DetailSection[];\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | AddressListItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem\n | NetworkItem\n | TransferListItem\n | CollapsibleGroupItem;\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 details: DetailSection[];\n networkFeeSelector?: boolean;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\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 body?: 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 BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_MESSAGE;\n account: string;\n data: string; // Base-64 encoded message\n }\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\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 externalIndices?: number[];\n internalIndices?: number[];\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 | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n gasLimit?: number;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\nexport type RequestPublicKeyParams = {\n secretId: string;\n curve: 'secp256k1' | 'ed25519';\n derivationPath?: string;\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 */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;\n onTransactionPending: ({\n txHash,\n request,\n explorerLink,\n }: {\n txHash: string;\n request: RpcRequest;\n explorerLink: string;\n }) => void;\n onTransactionConfirmed: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n onTransactionReverted: ({ txHash, request }: { txHash: string; request: RpcRequest }) => void;\n /**\n * Called when the module gave up waiting for a terminal status without ever\n * learning one — the node stopped answering, or kept reporting the tx as\n * processing until the poll budget ran out. The transaction may still have\n * been accepted, so this is deliberately neither a confirmation nor a\n * revert: consumers should stop showing an in-progress state and point the\n * user at the explorer.\n *\n * Optional so existing consumers keep compiling; a module that has nothing\n * better to report simply stays silent when it is not implemented.\n */\n onTransactionStatusUnknown?: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require('./chunk-YB5EN6FL.cjs');
|
|
4
4
|
require('./chunk-AILYKQEY.cjs');
|
|
5
5
|
var chunk4NMX4VK7_cjs = require('./chunk-4NMX4VK7.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkYRLTHIJU_cjs = require('./chunk-YRLTHIJU.cjs');
|
|
7
7
|
var chunkNN5FFZXP_cjs = require('./chunk-NN5FFZXP.cjs');
|
|
8
8
|
var chunkEC2O5ECQ_cjs = require('./chunk-EC2O5ECQ.cjs');
|
|
9
9
|
var chunkDTK5YHAN_cjs = require('./chunk-DTK5YHAN.cjs');
|
|
@@ -25,15 +25,15 @@ Object.defineProperty(exports, 'EventNames', {
|
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, 'AlertType', {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkYRLTHIJU_cjs.c; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, 'DetailItemType', {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkYRLTHIJU_cjs.b; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkYRLTHIJU_cjs.a; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, 'TxType', {
|
|
39
39
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -5,7 +5,7 @@ export { Error } from './error.cjs';
|
|
|
5
5
|
export { Manifest, parseManifest } from './manifest.cjs';
|
|
6
6
|
export { AppInfo, ConstructorParams, Module, NetworkFeeParam, RuntimeParams } from './module.cjs';
|
|
7
7
|
export { NetworkFees, SuggestGasPriceOptionsResponse } from './network-fee.cjs';
|
|
8
|
-
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, W as BalanceChange, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-
|
|
8
|
+
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, W as BalanceChange, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-3a7605e0.js';
|
|
9
9
|
export { ERC1155Token, ERC20Token, ERC721Token, HypercoreSpotToken, NONERCToken, NetworkContractToken, NetworkToken, SPLToken, TokenType } from './token.cjs';
|
|
10
10
|
export { GetTransactionHistory, PChainTransactionType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType } from './transaction-history.cjs';
|
|
11
11
|
export { BtcWalletPolicyDetails, BuildDerivationPathParams, BuildDerivationPathResponse, DerivationPathType, DeriveAddressParams, DeriveAddressResponse, DeriveAddressesParams, DeriveAddressesResponse, DetailedDeriveAddressParams, GetAddressParams, GetAddressResponse, PubKeyType, SimpleDeriveAddressParams, WalletType } from './account.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { Error } from './error.js';
|
|
|
5
5
|
export { Manifest, parseManifest } from './manifest.js';
|
|
6
6
|
export { AppInfo, ConstructorParams, Module, NetworkFeeParam, RuntimeParams } from './module.js';
|
|
7
7
|
export { NetworkFees, SuggestGasPriceOptionsResponse } from './network-fee.js';
|
|
8
|
-
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, W as BalanceChange, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-
|
|
8
|
+
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, W as BalanceChange, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-803487ef.js';
|
|
9
9
|
export { ERC1155Token, ERC20Token, ERC721Token, HypercoreSpotToken, NONERCToken, NetworkContractToken, NetworkToken, SPLToken, TokenType } from './token.js';
|
|
10
10
|
export { GetTransactionHistory, PChainTransactionType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType } from './transaction-history.js';
|
|
11
11
|
export { BtcWalletPolicyDetails, BuildDerivationPathParams, BuildDerivationPathResponse, DerivationPathType, DeriveAddressParams, DeriveAddressResponse, DeriveAddressesParams, DeriveAddressesResponse, DetailedDeriveAddressParams, GetAddressParams, GetAddressResponse, PubKeyType, SimpleDeriveAddressParams, WalletType } from './account.js';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './chunk-GF7C4PA6.js';
|
|
2
2
|
import './chunk-7U2R34EQ.js';
|
|
3
3
|
export { a as EventNames } from './chunk-6ZLXXGIV.js';
|
|
4
|
-
export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-
|
|
4
|
+
export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-IRAKF5G6.js';
|
|
5
5
|
export { a as TxType } from './chunk-KUIEUGHP.js';
|
|
6
6
|
export { a as TokenType } from './chunk-GNNCJP76.js';
|
|
7
7
|
export { b as PChainTransactionType, a as TransactionType, c as XChainTransactionType } from './chunk-4NLGTKVT.js';
|
package/dist/module.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { GetBalancesParams, GetBalancesResponse } from './balance.cjs';
|
|
|
4
4
|
import { AppName, Environment, Network } from './common.cjs';
|
|
5
5
|
import { Manifest } from './manifest.cjs';
|
|
6
6
|
import { NetworkFees } from './network-fee.cjs';
|
|
7
|
-
import { U as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-
|
|
7
|
+
import { U as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-3a7605e0.js';
|
|
8
8
|
import { NetworkContractToken, HypercoreSpotToken } from './token.cjs';
|
|
9
9
|
import { GetTransactionHistory, TransactionHistoryResponse } from './transaction-history.cjs';
|
|
10
10
|
import { HyperSDKClient } from 'hypersdk-client';
|
package/dist/module.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { GetBalancesParams, GetBalancesResponse } from './balance.js';
|
|
|
4
4
|
import { AppName, Environment, Network } from './common.js';
|
|
5
5
|
import { Manifest } from './manifest.js';
|
|
6
6
|
import { NetworkFees } from './network-fee.js';
|
|
7
|
-
import { U as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-
|
|
7
|
+
import { U as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-803487ef.js';
|
|
8
8
|
import { NetworkContractToken, HypercoreSpotToken } from './token.js';
|
|
9
9
|
import { GetTransactionHistory, TransactionHistoryResponse } from './transaction-history.js';
|
|
10
10
|
import { HyperSDKClient } from 'hypersdk-client';
|
|
@@ -148,6 +148,7 @@ type CurrencyItem = BaseDetailItem & {
|
|
|
148
148
|
maxDecimals: number;
|
|
149
149
|
symbol: string;
|
|
150
150
|
isNativeToken?: boolean;
|
|
151
|
+
isAssetLabel?: boolean;
|
|
151
152
|
};
|
|
152
153
|
type DataItem = BaseDetailItem & {
|
|
153
154
|
type: DetailItemType.DATA;
|
|
@@ -182,11 +183,11 @@ type Transfer = {
|
|
|
182
183
|
decimals?: number;
|
|
183
184
|
assetName?: string;
|
|
184
185
|
threshold?: number;
|
|
185
|
-
lockedUntil?: number;
|
|
186
|
-
stakeableLockedUntil?: number;
|
|
186
|
+
lockedUntil?: number | 'indefinitely';
|
|
187
|
+
stakeableLockedUntil?: number | 'indefinitely';
|
|
187
188
|
isNativeToken?: boolean;
|
|
188
189
|
isStaked?: boolean;
|
|
189
|
-
stakedUntil?: number;
|
|
190
|
+
stakedUntil?: number | 'indefinitely';
|
|
190
191
|
};
|
|
191
192
|
type TransferListItem = BaseDetailItem & {
|
|
192
193
|
type: DetailItemType.TRANSFER_LIST;
|
|
@@ -148,6 +148,7 @@ type CurrencyItem = BaseDetailItem & {
|
|
|
148
148
|
maxDecimals: number;
|
|
149
149
|
symbol: string;
|
|
150
150
|
isNativeToken?: boolean;
|
|
151
|
+
isAssetLabel?: boolean;
|
|
151
152
|
};
|
|
152
153
|
type DataItem = BaseDetailItem & {
|
|
153
154
|
type: DetailItemType.DATA;
|
|
@@ -182,11 +183,11 @@ type Transfer = {
|
|
|
182
183
|
decimals?: number;
|
|
183
184
|
assetName?: string;
|
|
184
185
|
threshold?: number;
|
|
185
|
-
lockedUntil?: number;
|
|
186
|
-
stakeableLockedUntil?: number;
|
|
186
|
+
lockedUntil?: number | 'indefinitely';
|
|
187
|
+
stakeableLockedUntil?: number | 'indefinitely';
|
|
187
188
|
isNativeToken?: boolean;
|
|
188
189
|
isStaked?: boolean;
|
|
189
|
-
stakedUntil?: number;
|
|
190
|
+
stakedUntil?: number | 'indefinitely';
|
|
190
191
|
};
|
|
191
192
|
type TransferListItem = BaseDetailItem & {
|
|
192
193
|
type: DetailItemType.TRANSFER_LIST;
|
package/dist/rpc.cjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkYRLTHIJU_cjs = require('./chunk-YRLTHIJU.cjs');
|
|
4
4
|
require('./chunk-IQLAM2UJ.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, 'AlertType', {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkYRLTHIJU_cjs.c; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, 'DetailItemType', {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkYRLTHIJU_cjs.b; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkYRLTHIJU_cjs.a; }
|
|
19
19
|
});
|
|
20
20
|
//# sourceMappingURL=out.js.map
|
|
21
21
|
//# sourceMappingURL=rpc.cjs.map
|
package/dist/rpc.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import 'ethers';
|
|
|
2
2
|
import '@avalabs/core-wallets-sdk';
|
|
3
3
|
import './common.cjs';
|
|
4
4
|
import '@metamask/rpc-errors';
|
|
5
|
-
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-
|
|
5
|
+
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-3a7605e0.js';
|
|
6
6
|
import './balance.cjs';
|
|
7
7
|
import 'hypersdk-client';
|
|
8
8
|
import './token.cjs';
|
package/dist/rpc.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import 'ethers';
|
|
|
2
2
|
import '@avalabs/core-wallets-sdk';
|
|
3
3
|
import './common.js';
|
|
4
4
|
import '@metamask/rpc-errors';
|
|
5
|
-
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-
|
|
5
|
+
export { A as AddressItem, i as AddressListItem, v as Alert, u as AlertDetails, t as AlertType, U as ApprovalController, I as ApprovalParams, P as ApprovalResponse, B as BaseDetailItem, V as BatchApprovalController, J as BatchApprovalParams, Q as BatchApprovalResponse, w as BitcoinExecuteTxData, x as BitcoingSignTxData, G as BtcTxUpdateFn, q as CollapsibleGroupItem, C as CurrencyItem, D as DappInfo, j as DataItem, k as DateItem, r as DetailItem, g as DetailItemType, f as DetailSection, s as DisplayData, E as EvmTxBatchUpdateFn, z as EvmTxUpdateFn, F as FundsRecipientItem, l as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, n as NetworkItem, m as NetworkItemValue, N as NodeIDItem, K as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, y as SigningData_EthSendTx, H as SigningRequest, O as SigningResult, h as TextItem, o as Transfer, p as TransferListItem, T as TypedData, e as TypedDataV1 } from './rpc-803487ef.js';
|
|
6
6
|
import './balance.js';
|
|
7
7
|
import 'hypersdk-client';
|
|
8
8
|
import './token.js';
|
package/dist/rpc.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-
|
|
1
|
+
export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-IRAKF5G6.js';
|
|
2
2
|
import './chunk-DYCPFO4Y.js';
|
|
3
3
|
//# sourceMappingURL=out.js.map
|
|
4
4
|
//# sourceMappingURL=rpc.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { W as BalanceChange, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult } from './rpc-
|
|
1
|
+
export { W as BalanceChange, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult } from './rpc-3a7605e0.js';
|
|
2
2
|
import './token.cjs';
|
|
3
3
|
import 'ethers';
|
|
4
4
|
import '@avalabs/core-wallets-sdk';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { W as BalanceChange, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult } from './rpc-
|
|
1
|
+
export { W as BalanceChange, Z as TokenApproval, _ as TokenApprovals, X as TokenDiff, Y as TokenDiffItem, $ as TransactionSimulationResult } from './rpc-803487ef.js';
|
|
2
2
|
import './token.js';
|
|
3
3
|
import 'ethers';
|
|
4
4
|
import '@avalabs/core-wallets-sdk';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,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,4BAC7BA,EAAA,iCAAmC,iCAGnCA,EAAA,qBAAuB,sBAGvBA,EAAA,wBAA0B,yBAC1BA,EAAA,iCAAmC,gCACnCA,EAAA,oBAAsB,qBA3BZA,OAAA,IAsFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,aAAe,cACfA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,cAAgB,eAChBA,EAAA,kBAAoB,mBAZVA,OAAA,IA8IAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\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 AVALANCHE_DECLARE_AGENT_IDENTITY = 'avalanche_declareAgentIdentity',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n\n /* SOLANA */\n SOLANA_SIGN_TRANSACTION = 'solana_signTransaction',\n SOLANA_SIGN_AND_SEND_TRANSACTION = 'solana_signAndSendTransaction',\n SOLANA_SIGN_MESSAGE = 'solana_signMessage',\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 DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n ADDRESS_LIST = 'addressList',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n NETWORK = 'network',\n TRANSFER_LIST = 'transferList',\n COLLAPSIBLE_GROUP = 'collapsibleGroup',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type AddressListItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS_LIST;\n value: string[];\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n isNativeToken?: boolean;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type NetworkItemValue = {\n logoUri: string | undefined;\n name: string;\n};\n\nexport type NetworkItem = BaseDetailItem & {\n type: DetailItemType.NETWORK;\n value: NetworkItemValue;\n};\n\nexport type Transfer = {\n addresses: string[];\n amount: bigint;\n assetId: string;\n symbol?: string;\n decimals?: number;\n assetName?: string;\n threshold?: number;\n lockedUntil?: number;\n stakeableLockedUntil?: number;\n isNativeToken?: boolean;\n isStaked?: boolean;\n stakedUntil?: number;\n};\n\nexport type TransferListItem = BaseDetailItem & {\n type: DetailItemType.TRANSFER_LIST;\n value: Transfer[];\n};\n\nexport type CollapsibleGroupItem = BaseDetailItem & {\n type: DetailItemType.COLLAPSIBLE_GROUP;\n value: DetailSection[];\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | AddressListItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem\n | NetworkItem\n | TransferListItem\n | CollapsibleGroupItem;\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 details: DetailSection[];\n networkFeeSelector?: boolean;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\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 body?: 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 BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_MESSAGE;\n account: string;\n data: string; // Base-64 encoded message\n }\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\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 externalIndices?: number[];\n internalIndices?: number[];\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 | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n gasLimit?: number;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\nexport type RequestPublicKeyParams = {\n secretId: string;\n curve: 'secp256k1' | 'ed25519';\n derivationPath?: string;\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 */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;\n onTransactionPending: ({\n txHash,\n request,\n explorerLink,\n }: {\n txHash: string;\n request: RpcRequest;\n explorerLink: string;\n }) => void;\n onTransactionConfirmed: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n onTransactionReverted: ({ txHash, request }: { txHash: string; request: RpcRequest }) => void;\n /**\n * Called when the module gave up waiting for a terminal status without ever\n * learning one — the node stopped answering, or kept reporting the tx as\n * processing until the poll budget ran out. The transaction may still have\n * been accepted, so this is deliberately neither a confirmation nor a\n * revert: consumers should stop showing an in-progress state and point the\n * user at the explorer.\n *\n * Optional so existing consumers keep compiling; a module that has nothing\n * better to report simply stays silent when it is not implemented.\n */\n onTransactionStatusUnknown?: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,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,4BAC7BA,EAAA,iCAAmC,iCAGnCA,EAAA,qBAAuB,sBAGvBA,EAAA,wBAA0B,yBAC1BA,EAAA,iCAAmC,gCACnCA,EAAA,oBAAsB,qBA3BZA,OAAA,IAsFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,aAAe,cACfA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,cAAgB,eAChBA,EAAA,kBAAoB,mBAZVA,OAAA,IA8IAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\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 AVALANCHE_DECLARE_AGENT_IDENTITY = 'avalanche_declareAgentIdentity',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n\n /* SOLANA */\n SOLANA_SIGN_TRANSACTION = 'solana_signTransaction',\n SOLANA_SIGN_AND_SEND_TRANSACTION = 'solana_signAndSendTransaction',\n SOLANA_SIGN_MESSAGE = 'solana_signMessage',\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 DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n ADDRESS_LIST = 'addressList',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n NETWORK = 'network',\n TRANSFER_LIST = 'transferList',\n COLLAPSIBLE_GROUP = 'collapsibleGroup',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type AddressListItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS_LIST;\n value: string[];\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n isNativeToken?: boolean;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type NetworkItemValue = {\n logoUri: string | undefined;\n name: string;\n};\n\nexport type NetworkItem = BaseDetailItem & {\n type: DetailItemType.NETWORK;\n value: NetworkItemValue;\n};\n\nexport type Transfer = {\n addresses: string[];\n amount: bigint;\n assetId: string;\n symbol?: string;\n decimals?: number;\n assetName?: string;\n threshold?: number;\n lockedUntil?: number;\n stakeableLockedUntil?: number;\n isNativeToken?: boolean;\n isStaked?: boolean;\n stakedUntil?: number;\n};\n\nexport type TransferListItem = BaseDetailItem & {\n type: DetailItemType.TRANSFER_LIST;\n value: Transfer[];\n};\n\nexport type CollapsibleGroupItem = BaseDetailItem & {\n type: DetailItemType.COLLAPSIBLE_GROUP;\n value: DetailSection[];\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | AddressListItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem\n | NetworkItem\n | TransferListItem\n | CollapsibleGroupItem;\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 details: DetailSection[];\n networkFeeSelector?: boolean;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\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 body?: 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 BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_TRANSACTION;\n account: string;\n data: string; // Base-64 encoded \"Wire Transaction\"\n }\n | {\n type: RpcMethod.SOLANA_SIGN_MESSAGE;\n account: string;\n data: string; // Base-64 encoded message\n }\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\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 externalIndices?: number[];\n internalIndices?: number[];\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 | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n gasLimit?: number;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\nexport type RequestPublicKeyParams = {\n secretId: string;\n curve: 'secp256k1' | 'ed25519';\n derivationPath?: string;\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 */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;\n onTransactionPending: ({\n txHash,\n request,\n explorerLink,\n }: {\n txHash: string;\n request: RpcRequest;\n explorerLink: string;\n }) => void;\n onTransactionConfirmed: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n onTransactionReverted: ({ txHash, request }: { txHash: string; request: RpcRequest }) => void;\n /**\n * Called when the module gave up waiting for a terminal status without ever\n * learning one — the node stopped answering, or kept reporting the tx as\n * processing until the poll budget ran out. The transaction may still have\n * been accepted, so this is deliberately neither a confirmation nor a\n * revert: consumers should stop showing an in-progress state and point the\n * user at the explorer.\n *\n * Optional so existing consumers keep compiling; a module that has nothing\n * better to report simply stays silent when it is not implemented.\n */\n onTransactionStatusUnknown?: ({\n txHash,\n explorerLink,\n request,\n }: {\n txHash: string;\n explorerLink: string;\n request: RpcRequest;\n }) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\n}\n"]}
|