@avalabs/vm-module-types 0.0.12 → 0.0.13

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @avalabs/vm-module-types@0.0.12 build /home/runner/work/vm-modules/vm-modules/packages/types
2
+ > @avalabs/vm-module-types@0.0.13 build /home/runner/work/vm-modules/vm-modules/packages/types
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.ts, src/types.ts
@@ -10,23 +10,23 @@
10
10
  CLI Cleaning output folder
11
11
  CJS Build start
12
12
  ESM Build start
13
- CJS dist/index.cjs 873.00 B
14
- CJS dist/types.cjs 873.00 B
15
- CJS dist/chunk-TJUF73LQ.cjs 1.97 KB
13
+ CJS dist/index.cjs 1.11 KB
14
+ CJS dist/types.cjs 1.11 KB
15
+ CJS dist/chunk-L7UO6W6T.cjs 2.81 KB
16
16
  CJS dist/index.cjs.map 51.00 B
17
17
  CJS dist/types.cjs.map 51.00 B
18
- CJS dist/chunk-TJUF73LQ.cjs.map 8.60 KB
19
- CJS ⚡️ Build success in 659ms
20
- ESM dist/index.js 217.00 B
21
- ESM dist/types.js 217.00 B
22
- ESM dist/chunk-ODMEO2D7.js 1.86 KB
18
+ CJS dist/chunk-L7UO6W6T.cjs.map 10.09 KB
19
+ CJS ⚡️ Build success in 562ms
20
+ ESM dist/index.js 273.00 B
21
+ ESM dist/types.js 273.00 B
22
+ ESM dist/chunk-4RO2H63T.js 2.68 KB
23
23
  ESM dist/index.js.map 51.00 B
24
24
  ESM dist/types.js.map 51.00 B
25
- ESM dist/chunk-ODMEO2D7.js.map 8.60 KB
26
- ESM ⚡️ Build success in 664ms
25
+ ESM dist/chunk-4RO2H63T.js.map 10.09 KB
26
+ ESM ⚡️ Build success in 563ms
27
27
  DTS Build start
28
- DTS ⚡️ Build success in 7726ms
29
- DTS dist/types.d.cts 13.11 KB
30
- DTS dist/index.d.cts 469.00 B
31
- DTS dist/types.d.ts 13.11 KB
32
- DTS dist/index.d.ts 468.00 B
28
+ DTS ⚡️ Build success in 7472ms
29
+ DTS dist/types.d.cts 14.18 KB
30
+ DTS dist/index.d.cts 515.00 B
31
+ DTS dist/types.d.ts 14.18 KB
32
+ DTS dist/index.d.ts 514.00 B
@@ -1,4 +1,4 @@
1
1
 
2
- > @avalabs/vm-module-types@0.0.12 lint /home/runner/work/vm-modules/vm-modules/packages/types
2
+ > @avalabs/vm-module-types@0.0.13 lint /home/runner/work/vm-modules/vm-modules/packages/types
3
3
  > eslint "src/**/*.ts"
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @avalabs/vm-module-types
2
2
 
3
+ ## 0.0.13
4
+
5
+ ### Patch Changes
6
+
7
+ - af68c81: Add getTransactionHistory to avalanche module
8
+ - d9fa0f5: added getNetworkFee to avalanche module
9
+
3
10
  ## 0.0.12
4
11
 
5
12
  ### Patch Changes
@@ -0,0 +1,7 @@
1
+ import { object, string, boolean } from 'zod';
2
+
3
+ var g=(r=>(r.BRIDGE="Bridge",r.SWAP="Swap",r.SEND="Send",r.RECEIVE="Receive",r.NFT_BUY="NFTBuy",r.APPROVE="Approve",r.TRANSFER="Transfer",r.NFT_SEND="NFTSend",r.NFT_RECEIVE="NFTReceive",r.AIRDROP="Airdrop",r.FILL_ORDER="FillOrder",r.UNWRAP="Unwrap",r.UNKNOWN="UNKNOWN",r))(g||{}),A=(e=>(e.ADD_VALIDATOR_TX="AddValidatorTx",e.ADD_SUBNET_VALIDATOR_TX="AddSubnetValidatorTx",e.ADD_DELEGATOR_TX="AddDelegatorTx",e.CREATE_CHAIN_TX="CreateChainTx",e.CREATE_SUBNET_TX="CreateSubnetTx",e.IMPORT_TX="ImportTx",e.EXPORT_TX="ExportTx",e.ADVANCE_TIME_TX="AdvanceTimeTx",e.REWARD_VALIDATOR_TX="RewardValidatorTx",e.REMOVE_SUBNET_VALIDATOR_TX="RemoveSubnetValidatorTx",e.TRANSFORM_SUBNET_TX="TransformSubnetTx",e.ADD_PERMISSIONLESS_VALIDATOR_TX="AddPermissionlessValidatorTx",e.ADD_PERMISSIONLESS_DELEGATOR_TX="AddPermissionlessDelegatorTx",e.BASE_TX="BaseTx",e.TRANSFER_SUBNET_OWNERSHIP_TX="TransferSubnetOwnershipTx",e.UNKNOWN="UNKNOWN",e))(A||{}),d=(i=>(i.BASE_TX="BaseTx",i.CREATE_ASSET_TX="CreateAssetTx",i.OPERATION_TX="OperationTx",i.IMPORT_TX="ImportTx",i.EXPORT_TX="ExportTx",i.UNKNOWN="UNKNOWN",i))(d||{}),N=(a=>(a.NATIVE="NATIVE",a.ERC20="ERC20",a.ERC721="ERC721",a.ERC1155="ERC1155",a))(N||{}),l=(n=>(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))(l||{}),E=object({checksum:string(),location:object({npm:object({filePath:string(),packageName:string(),registry:string()})})}),R=object({name:string(),version:string(),description:string(),sources:object({module:E,provider:E.optional()}),network:object({chainIds:string().array(),namespaces:string().array()}),cointype:string(),permissions:object({rpc:object({dapps:boolean(),methods:string().array()})}),manifestVersion:string()}),I=m=>R.safeParse(m),x=(_=>(_.PRODUCTION="production",_.DEV="dev",_))(x||{}),S=(s=>(s.EVM_TRANSACTION="evm_transaction",s.EVM_MESSAGE_ETH_SIGN="evm_message_eth_sign",s.EVM_MESSAGE_PERSONAL_SIGN="evm_message_personal_sign",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA="evm_message_eth_sign_typed_data",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1="evm_message_eth_sign_typed_data_v1",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3="evm_message_eth_sign_typed_data_v3",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4="evm_message_eth_sign_typed_data_v4",s.AVALANCHE_TRANSACTION="avalanche_transaction",s.AVALANCHE_MESSAGE="avalanche_message",s.BTC_TRANSACTION="btc_transaction",s))(S||{});
4
+
5
+ export { g as a, A as b, d as c, N as d, l as e, I as f, x as g, S as h };
6
+ //# sourceMappingURL=out.js.map
7
+ //# sourceMappingURL=chunk-4RO2H63T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"names":["object","string","boolean","TransactionType","PChainTransactionType","XChainTransactionType","TokenType","RpcMethod","sourceSchema","manifestSchema","parseManifest","params","Environment","SigningDataType"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,UAAAC,EAAQ,WAAAC,MAAkB,MAIpC,IAAKC,OACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,SAAW,UACXA,EAAA,YAAc,aACdA,EAAA,QAAU,UACVA,EAAA,WAAa,YACbA,EAAA,OAAS,SACTA,EAAA,QAAU,UAbAA,OAAA,IAgBAC,OACVA,EAAA,iBAAmB,iBACnBA,EAAA,wBAA0B,uBAC1BA,EAAA,iBAAmB,iBACnBA,EAAA,gBAAkB,gBAClBA,EAAA,iBAAmB,iBACnBA,EAAA,UAAY,WACZA,EAAA,UAAY,WACZA,EAAA,gBAAkB,gBAClBA,EAAA,oBAAsB,oBACtBA,EAAA,2BAA6B,0BAC7BA,EAAA,oBAAsB,oBACtBA,EAAA,gCAAkC,+BAClCA,EAAA,gCAAkC,+BAClCA,EAAA,QAAU,SACVA,EAAA,6BAA+B,4BAC/BA,EAAA,QAAU,UAhBAA,OAAA,IAmBAC,OACVA,EAAA,QAAU,SACVA,EAAA,gBAAkB,gBAClBA,EAAA,aAAe,cACfA,EAAA,UAAY,WACZA,EAAA,UAAY,WACZA,EAAA,QAAU,UANAA,OAAA,IASAC,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UAJAA,OAAA,IAeAC,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WARDA,OAAA,IAkJNC,EAAeR,EAAO,CAC1B,SAAUC,EAAO,EACjB,SAAUD,EAAO,CACf,IAAKA,EAAO,CACV,SAAUC,EAAO,EACjB,YAAaA,EAAO,EACpB,SAAUA,EAAO,CACnB,CAAC,CACH,CAAC,CACH,CAAC,EAEKQ,EAAiBT,EAAO,CAC5B,KAAMC,EAAO,EACb,QAASA,EAAO,EAChB,YAAaA,EAAO,EACpB,QAASD,EAAO,CACd,OAAQQ,EACR,SAAUA,EAAa,SAAS,CAClC,CAAC,EACD,QAASR,EAAO,CACd,SAAUC,EAAO,EAAE,MAAM,EACzB,WAAYA,EAAO,EAAE,MAAM,CAC7B,CAAC,EACD,SAAUA,EAAO,EACjB,YAAaD,EAAO,CAClB,IAAKA,EAAO,CACV,MAAOE,EAAQ,EACf,QAASD,EAAO,EAAE,MAAM,CAC1B,CAAC,CACH,CAAC,EACD,gBAAiBA,EAAO,CAC1B,CAAC,EAIYS,EAAiBC,GACrBF,EAAe,UAAUE,CAAM,EAO5BC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAyBAC,OAEVA,EAAA,gBAAkB,kBAClBA,EAAA,qBAAuB,uBACvBA,EAAA,0BAA4B,4BAC5BA,EAAA,gCAAkC,kCAClCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCAGrCA,EAAA,sBAAwB,wBACxBA,EAAA,kBAAoB,oBAGpBA,EAAA,gBAAkB,kBAfRA,OAAA","sourcesContent":["import { object, string, boolean, z } from 'zod';\nimport type { TransactionRequest } from 'ethers';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\n\nexport enum TransactionType {\n BRIDGE = 'Bridge',\n SWAP = 'Swap',\n SEND = 'Send',\n RECEIVE = 'Receive',\n NFT_BUY = 'NFTBuy',\n APPROVE = 'Approve',\n TRANSFER = 'Transfer',\n NFT_SEND = 'NFTSend',\n NFT_RECEIVE = 'NFTReceive',\n AIRDROP = 'Airdrop',\n FILL_ORDER = 'FillOrder',\n UNWRAP = 'Unwrap',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum PChainTransactionType {\n ADD_VALIDATOR_TX = 'AddValidatorTx',\n ADD_SUBNET_VALIDATOR_TX = 'AddSubnetValidatorTx',\n ADD_DELEGATOR_TX = 'AddDelegatorTx',\n CREATE_CHAIN_TX = 'CreateChainTx',\n CREATE_SUBNET_TX = 'CreateSubnetTx',\n IMPORT_TX = 'ImportTx',\n EXPORT_TX = 'ExportTx',\n ADVANCE_TIME_TX = 'AdvanceTimeTx',\n REWARD_VALIDATOR_TX = 'RewardValidatorTx',\n REMOVE_SUBNET_VALIDATOR_TX = 'RemoveSubnetValidatorTx',\n TRANSFORM_SUBNET_TX = 'TransformSubnetTx',\n ADD_PERMISSIONLESS_VALIDATOR_TX = 'AddPermissionlessValidatorTx',\n ADD_PERMISSIONLESS_DELEGATOR_TX = 'AddPermissionlessDelegatorTx',\n BASE_TX = 'BaseTx',\n TRANSFER_SUBNET_OWNERSHIP_TX = 'TransferSubnetOwnershipTx',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum XChainTransactionType {\n BASE_TX = 'BaseTx',\n CREATE_ASSET_TX = 'CreateAssetTx',\n OPERATION_TX = 'OperationTx',\n IMPORT_TX = 'ImportTx',\n EXPORT_TX = 'ExportTx',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n}\n\nexport type NetworkFees = {\n low: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n medium: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n high: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n baseFee: bigint;\n isFixedFee: boolean;\n};\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\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 type Network = {\n chainId: number;\n chainName: string;\n rpcUrl: string;\n networkToken: NetworkToken;\n utilityAddresses?: {\n multicall: string;\n };\n logoUrl?: string;\n isTestnet?: boolean;\n explorerUrl?: string;\n};\n\nexport interface Module {\n getManifest: () => Manifest | undefined;\n getBalances: () => Promise<string>;\n getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;\n getNetworkFee: (network: Network) => Promise<NetworkFees>;\n getAddress: () => Promise<string>;\n getTokens: (network: Network) => Promise<NetworkContractToken[]>;\n onRpcRequest: (request: RpcRequest, network: Network) => Promise<RpcResponse>;\n}\n\nexport type GetTransactionHistory = {\n network: Network;\n address: string;\n nextPageToken?: string;\n offset?: number;\n};\n\nexport type TransactionHistoryResponse = {\n transactions: Transaction[];\n nextPageToken?: string;\n};\n\nexport type Transaction = {\n isContractCall: boolean;\n isIncoming: boolean;\n isOutgoing: boolean;\n isSender: boolean;\n timestamp: number;\n hash: string;\n from: string;\n to: string;\n tokens: TxToken[];\n gasPrice?: string;\n gasUsed: string;\n txType?: TransactionType | PChainTransactionType | XChainTransactionType;\n chainId: string; // chainId from ActiveNetwork used to fetch tx\n method?: string;\n explorerLink: string;\n};\n\nexport interface TxToken {\n decimal?: string;\n name: string;\n symbol: string;\n amount: string;\n imageUri?: string;\n from?: RichAddress;\n to?: RichAddress;\n collectableTokenId?: string;\n type: TokenType;\n}\n\ntype RichAddress = {\n /**\n * The contract name.\n */\n name?: string;\n /**\n * The contract symbol.\n */\n symbol?: string;\n /**\n * The number of decimals the token uses. For example `6`, means to divide the token amount by `1000000` to get its user representation.\n */\n decimals?: number;\n /**\n * The logo uri for the address.\n */\n logoUri?: string;\n /**\n * A wallet or contract address in mixed-case checksum encoding.\n */\n address: string;\n};\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n description: string;\n decimals: number;\n logoUri: string;\n}\n\nexport interface NetworkContractToken {\n address: string;\n chainId?: number;\n color?: string;\n contractType: string;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nconst sourceSchema = object({\n checksum: string(),\n location: object({\n npm: object({\n filePath: string(),\n packageName: string(),\n registry: string(),\n }),\n }),\n});\n\nconst manifestSchema = object({\n name: string(),\n version: string(),\n description: string(),\n sources: object({\n module: sourceSchema,\n provider: sourceSchema.optional(),\n }),\n network: object({\n chainIds: string().array(),\n namespaces: string().array(),\n }),\n cointype: string(),\n permissions: object({\n rpc: object({\n dapps: boolean(),\n methods: string().array(),\n }),\n }),\n manifestVersion: string(),\n});\n\nexport type Manifest = z.infer<typeof manifestSchema>;\n\nexport const parseManifest = (params: unknown): z.SafeParseReturnType<unknown, Manifest> => {\n return manifestSchema.safeParse(params);\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport type DisplayData = {\n title: string;\n network: {\n chainId: number;\n name: string;\n logoUrl?: string;\n };\n messageDetails?: string;\n transactionDetails?: {\n website: string;\n from: string;\n to: string;\n data?: string;\n };\n networkFeeSelector?: boolean;\n};\n\n/**\n * Enum for different types of signing data.\n */\nexport enum SigningDataType {\n // EVM signing data types\n EVM_TRANSACTION = 'evm_transaction',\n EVM_MESSAGE_ETH_SIGN = 'evm_message_eth_sign',\n EVM_MESSAGE_PERSONAL_SIGN = 'evm_message_personal_sign',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA = 'evm_message_eth_sign_typed_data',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1 = 'evm_message_eth_sign_typed_data_v1',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3 = 'evm_message_eth_sign_typed_data_v3',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4 = 'evm_message_eth_sign_typed_data_v4',\n\n // Avalanche signing data types\n AVALANCHE_TRANSACTION = 'avalanche_transaction',\n AVALANCHE_MESSAGE = 'avalanche_message',\n\n // Bitcoin signing data types\n BTC_TRANSACTION = 'btc_transaction',\n}\n\nexport type SigningData =\n | {\n type: SigningDataType.EVM_TRANSACTION;\n account: string;\n chainId: number;\n data: TransactionRequest;\n }\n | {\n type: SigningDataType.EVM_MESSAGE_ETH_SIGN;\n account: string;\n chainId: number;\n data: string;\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"]}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ var g=(r=>(r.BRIDGE="Bridge",r.SWAP="Swap",r.SEND="Send",r.RECEIVE="Receive",r.NFT_BUY="NFTBuy",r.APPROVE="Approve",r.TRANSFER="Transfer",r.NFT_SEND="NFTSend",r.NFT_RECEIVE="NFTReceive",r.AIRDROP="Airdrop",r.FILL_ORDER="FillOrder",r.UNWRAP="Unwrap",r.UNKNOWN="UNKNOWN",r))(g||{}),A=(e=>(e.ADD_VALIDATOR_TX="AddValidatorTx",e.ADD_SUBNET_VALIDATOR_TX="AddSubnetValidatorTx",e.ADD_DELEGATOR_TX="AddDelegatorTx",e.CREATE_CHAIN_TX="CreateChainTx",e.CREATE_SUBNET_TX="CreateSubnetTx",e.IMPORT_TX="ImportTx",e.EXPORT_TX="ExportTx",e.ADVANCE_TIME_TX="AdvanceTimeTx",e.REWARD_VALIDATOR_TX="RewardValidatorTx",e.REMOVE_SUBNET_VALIDATOR_TX="RemoveSubnetValidatorTx",e.TRANSFORM_SUBNET_TX="TransformSubnetTx",e.ADD_PERMISSIONLESS_VALIDATOR_TX="AddPermissionlessValidatorTx",e.ADD_PERMISSIONLESS_DELEGATOR_TX="AddPermissionlessDelegatorTx",e.BASE_TX="BaseTx",e.TRANSFER_SUBNET_OWNERSHIP_TX="TransferSubnetOwnershipTx",e.UNKNOWN="UNKNOWN",e))(A||{}),d=(i=>(i.BASE_TX="BaseTx",i.CREATE_ASSET_TX="CreateAssetTx",i.OPERATION_TX="OperationTx",i.IMPORT_TX="ImportTx",i.EXPORT_TX="ExportTx",i.UNKNOWN="UNKNOWN",i))(d||{}),N=(a=>(a.NATIVE="NATIVE",a.ERC20="ERC20",a.ERC721="ERC721",a.ERC1155="ERC1155",a))(N||{}),l=(n=>(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))(l||{}),E=zod.object({checksum:zod.string(),location:zod.object({npm:zod.object({filePath:zod.string(),packageName:zod.string(),registry:zod.string()})})}),R=zod.object({name:zod.string(),version:zod.string(),description:zod.string(),sources:zod.object({module:E,provider:E.optional()}),network:zod.object({chainIds:zod.string().array(),namespaces:zod.string().array()}),cointype:zod.string(),permissions:zod.object({rpc:zod.object({dapps:zod.boolean(),methods:zod.string().array()})}),manifestVersion:zod.string()}),I=m=>R.safeParse(m),x=(_=>(_.PRODUCTION="production",_.DEV="dev",_))(x||{}),S=(s=>(s.EVM_TRANSACTION="evm_transaction",s.EVM_MESSAGE_ETH_SIGN="evm_message_eth_sign",s.EVM_MESSAGE_PERSONAL_SIGN="evm_message_personal_sign",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA="evm_message_eth_sign_typed_data",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1="evm_message_eth_sign_typed_data_v1",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3="evm_message_eth_sign_typed_data_v3",s.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4="evm_message_eth_sign_typed_data_v4",s.AVALANCHE_TRANSACTION="avalanche_transaction",s.AVALANCHE_MESSAGE="avalanche_message",s.BTC_TRANSACTION="btc_transaction",s))(S||{});
6
+
7
+ exports.a = g;
8
+ exports.b = A;
9
+ exports.c = d;
10
+ exports.d = N;
11
+ exports.e = l;
12
+ exports.f = I;
13
+ exports.g = x;
14
+ exports.h = S;
15
+ //# sourceMappingURL=out.js.map
16
+ //# sourceMappingURL=chunk-L7UO6W6T.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"names":["object","string","boolean","TransactionType","PChainTransactionType","XChainTransactionType","TokenType","RpcMethod","sourceSchema","manifestSchema","parseManifest","params","Environment","SigningDataType"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,UAAAC,EAAQ,WAAAC,MAAkB,MAIpC,IAAKC,OACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,SAAW,UACXA,EAAA,YAAc,aACdA,EAAA,QAAU,UACVA,EAAA,WAAa,YACbA,EAAA,OAAS,SACTA,EAAA,QAAU,UAbAA,OAAA,IAgBAC,OACVA,EAAA,iBAAmB,iBACnBA,EAAA,wBAA0B,uBAC1BA,EAAA,iBAAmB,iBACnBA,EAAA,gBAAkB,gBAClBA,EAAA,iBAAmB,iBACnBA,EAAA,UAAY,WACZA,EAAA,UAAY,WACZA,EAAA,gBAAkB,gBAClBA,EAAA,oBAAsB,oBACtBA,EAAA,2BAA6B,0BAC7BA,EAAA,oBAAsB,oBACtBA,EAAA,gCAAkC,+BAClCA,EAAA,gCAAkC,+BAClCA,EAAA,QAAU,SACVA,EAAA,6BAA+B,4BAC/BA,EAAA,QAAU,UAhBAA,OAAA,IAmBAC,OACVA,EAAA,QAAU,SACVA,EAAA,gBAAkB,gBAClBA,EAAA,aAAe,cACfA,EAAA,UAAY,WACZA,EAAA,UAAY,WACZA,EAAA,QAAU,UANAA,OAAA,IASAC,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UAJAA,OAAA,IAeAC,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WARDA,OAAA,IAkJNC,EAAeR,EAAO,CAC1B,SAAUC,EAAO,EACjB,SAAUD,EAAO,CACf,IAAKA,EAAO,CACV,SAAUC,EAAO,EACjB,YAAaA,EAAO,EACpB,SAAUA,EAAO,CACnB,CAAC,CACH,CAAC,CACH,CAAC,EAEKQ,EAAiBT,EAAO,CAC5B,KAAMC,EAAO,EACb,QAASA,EAAO,EAChB,YAAaA,EAAO,EACpB,QAASD,EAAO,CACd,OAAQQ,EACR,SAAUA,EAAa,SAAS,CAClC,CAAC,EACD,QAASR,EAAO,CACd,SAAUC,EAAO,EAAE,MAAM,EACzB,WAAYA,EAAO,EAAE,MAAM,CAC7B,CAAC,EACD,SAAUA,EAAO,EACjB,YAAaD,EAAO,CAClB,IAAKA,EAAO,CACV,MAAOE,EAAQ,EACf,QAASD,EAAO,EAAE,MAAM,CAC1B,CAAC,CACH,CAAC,EACD,gBAAiBA,EAAO,CAC1B,CAAC,EAIYS,EAAiBC,GACrBF,EAAe,UAAUE,CAAM,EAO5BC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAyBAC,OAEVA,EAAA,gBAAkB,kBAClBA,EAAA,qBAAuB,uBACvBA,EAAA,0BAA4B,4BAC5BA,EAAA,gCAAkC,kCAClCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCAGrCA,EAAA,sBAAwB,wBACxBA,EAAA,kBAAoB,oBAGpBA,EAAA,gBAAkB,kBAfRA,OAAA","sourcesContent":["import { object, string, boolean, z } from 'zod';\nimport type { TransactionRequest } from 'ethers';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\n\nexport enum TransactionType {\n BRIDGE = 'Bridge',\n SWAP = 'Swap',\n SEND = 'Send',\n RECEIVE = 'Receive',\n NFT_BUY = 'NFTBuy',\n APPROVE = 'Approve',\n TRANSFER = 'Transfer',\n NFT_SEND = 'NFTSend',\n NFT_RECEIVE = 'NFTReceive',\n AIRDROP = 'Airdrop',\n FILL_ORDER = 'FillOrder',\n UNWRAP = 'Unwrap',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum PChainTransactionType {\n ADD_VALIDATOR_TX = 'AddValidatorTx',\n ADD_SUBNET_VALIDATOR_TX = 'AddSubnetValidatorTx',\n ADD_DELEGATOR_TX = 'AddDelegatorTx',\n CREATE_CHAIN_TX = 'CreateChainTx',\n CREATE_SUBNET_TX = 'CreateSubnetTx',\n IMPORT_TX = 'ImportTx',\n EXPORT_TX = 'ExportTx',\n ADVANCE_TIME_TX = 'AdvanceTimeTx',\n REWARD_VALIDATOR_TX = 'RewardValidatorTx',\n REMOVE_SUBNET_VALIDATOR_TX = 'RemoveSubnetValidatorTx',\n TRANSFORM_SUBNET_TX = 'TransformSubnetTx',\n ADD_PERMISSIONLESS_VALIDATOR_TX = 'AddPermissionlessValidatorTx',\n ADD_PERMISSIONLESS_DELEGATOR_TX = 'AddPermissionlessDelegatorTx',\n BASE_TX = 'BaseTx',\n TRANSFER_SUBNET_OWNERSHIP_TX = 'TransferSubnetOwnershipTx',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum XChainTransactionType {\n BASE_TX = 'BaseTx',\n CREATE_ASSET_TX = 'CreateAssetTx',\n OPERATION_TX = 'OperationTx',\n IMPORT_TX = 'ImportTx',\n EXPORT_TX = 'ExportTx',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n}\n\nexport type NetworkFees = {\n low: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n medium: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n high: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };\n baseFee: bigint;\n isFixedFee: boolean;\n};\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\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 type Network = {\n chainId: number;\n chainName: string;\n rpcUrl: string;\n networkToken: NetworkToken;\n utilityAddresses?: {\n multicall: string;\n };\n logoUrl?: string;\n isTestnet?: boolean;\n explorerUrl?: string;\n};\n\nexport interface Module {\n getManifest: () => Manifest | undefined;\n getBalances: () => Promise<string>;\n getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;\n getNetworkFee: (network: Network) => Promise<NetworkFees>;\n getAddress: () => Promise<string>;\n getTokens: (network: Network) => Promise<NetworkContractToken[]>;\n onRpcRequest: (request: RpcRequest, network: Network) => Promise<RpcResponse>;\n}\n\nexport type GetTransactionHistory = {\n network: Network;\n address: string;\n nextPageToken?: string;\n offset?: number;\n};\n\nexport type TransactionHistoryResponse = {\n transactions: Transaction[];\n nextPageToken?: string;\n};\n\nexport type Transaction = {\n isContractCall: boolean;\n isIncoming: boolean;\n isOutgoing: boolean;\n isSender: boolean;\n timestamp: number;\n hash: string;\n from: string;\n to: string;\n tokens: TxToken[];\n gasPrice?: string;\n gasUsed: string;\n txType?: TransactionType | PChainTransactionType | XChainTransactionType;\n chainId: string; // chainId from ActiveNetwork used to fetch tx\n method?: string;\n explorerLink: string;\n};\n\nexport interface TxToken {\n decimal?: string;\n name: string;\n symbol: string;\n amount: string;\n imageUri?: string;\n from?: RichAddress;\n to?: RichAddress;\n collectableTokenId?: string;\n type: TokenType;\n}\n\ntype RichAddress = {\n /**\n * The contract name.\n */\n name?: string;\n /**\n * The contract symbol.\n */\n symbol?: string;\n /**\n * The number of decimals the token uses. For example `6`, means to divide the token amount by `1000000` to get its user representation.\n */\n decimals?: number;\n /**\n * The logo uri for the address.\n */\n logoUri?: string;\n /**\n * A wallet or contract address in mixed-case checksum encoding.\n */\n address: string;\n};\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n description: string;\n decimals: number;\n logoUri: string;\n}\n\nexport interface NetworkContractToken {\n address: string;\n chainId?: number;\n color?: string;\n contractType: string;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nconst sourceSchema = object({\n checksum: string(),\n location: object({\n npm: object({\n filePath: string(),\n packageName: string(),\n registry: string(),\n }),\n }),\n});\n\nconst manifestSchema = object({\n name: string(),\n version: string(),\n description: string(),\n sources: object({\n module: sourceSchema,\n provider: sourceSchema.optional(),\n }),\n network: object({\n chainIds: string().array(),\n namespaces: string().array(),\n }),\n cointype: string(),\n permissions: object({\n rpc: object({\n dapps: boolean(),\n methods: string().array(),\n }),\n }),\n manifestVersion: string(),\n});\n\nexport type Manifest = z.infer<typeof manifestSchema>;\n\nexport const parseManifest = (params: unknown): z.SafeParseReturnType<unknown, Manifest> => {\n return manifestSchema.safeParse(params);\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport type DisplayData = {\n title: string;\n network: {\n chainId: number;\n name: string;\n logoUrl?: string;\n };\n messageDetails?: string;\n transactionDetails?: {\n website: string;\n from: string;\n to: string;\n data?: string;\n };\n networkFeeSelector?: boolean;\n};\n\n/**\n * Enum for different types of signing data.\n */\nexport enum SigningDataType {\n // EVM signing data types\n EVM_TRANSACTION = 'evm_transaction',\n EVM_MESSAGE_ETH_SIGN = 'evm_message_eth_sign',\n EVM_MESSAGE_PERSONAL_SIGN = 'evm_message_personal_sign',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA = 'evm_message_eth_sign_typed_data',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1 = 'evm_message_eth_sign_typed_data_v1',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3 = 'evm_message_eth_sign_typed_data_v3',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4 = 'evm_message_eth_sign_typed_data_v4',\n\n // Avalanche signing data types\n AVALANCHE_TRANSACTION = 'avalanche_transaction',\n AVALANCHE_MESSAGE = 'avalanche_message',\n\n // Bitcoin signing data types\n BTC_TRANSACTION = 'btc_transaction',\n}\n\nexport type SigningData =\n | {\n type: SigningDataType.EVM_TRANSACTION;\n account: string;\n chainId: number;\n data: TransactionRequest;\n }\n | {\n type: SigningDataType.EVM_MESSAGE_ETH_SIGN;\n account: string;\n chainId: number;\n data: string;\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/index.cjs CHANGED
@@ -1,32 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var chunkTJUF73LQ_cjs = require('./chunk-TJUF73LQ.cjs');
3
+ var chunkL7UO6W6T_cjs = require('./chunk-L7UO6W6T.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, 'Environment', {
8
8
  enumerable: true,
9
- get: function () { return chunkTJUF73LQ_cjs.e; }
9
+ get: function () { return chunkL7UO6W6T_cjs.g; }
10
+ });
11
+ Object.defineProperty(exports, 'PChainTransactionType', {
12
+ enumerable: true,
13
+ get: function () { return chunkL7UO6W6T_cjs.b; }
10
14
  });
11
15
  Object.defineProperty(exports, 'RpcMethod', {
12
16
  enumerable: true,
13
- get: function () { return chunkTJUF73LQ_cjs.c; }
17
+ get: function () { return chunkL7UO6W6T_cjs.e; }
14
18
  });
15
19
  Object.defineProperty(exports, 'SigningDataType', {
16
20
  enumerable: true,
17
- get: function () { return chunkTJUF73LQ_cjs.f; }
21
+ get: function () { return chunkL7UO6W6T_cjs.h; }
18
22
  });
19
23
  Object.defineProperty(exports, 'TokenType', {
20
24
  enumerable: true,
21
- get: function () { return chunkTJUF73LQ_cjs.b; }
25
+ get: function () { return chunkL7UO6W6T_cjs.d; }
22
26
  });
23
27
  Object.defineProperty(exports, 'TransactionType', {
24
28
  enumerable: true,
25
- get: function () { return chunkTJUF73LQ_cjs.a; }
29
+ get: function () { return chunkL7UO6W6T_cjs.a; }
30
+ });
31
+ Object.defineProperty(exports, 'XChainTransactionType', {
32
+ enumerable: true,
33
+ get: function () { return chunkL7UO6W6T_cjs.c; }
26
34
  });
27
35
  Object.defineProperty(exports, 'parseManifest', {
28
36
  enumerable: true,
29
- get: function () { return chunkTJUF73LQ_cjs.d; }
37
+ get: function () { return chunkL7UO6W6T_cjs.f; }
30
38
  });
31
39
  //# sourceMappingURL=out.js.map
32
40
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, parseManifest } from './types.cjs';
1
+ export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, PChainTransactionType, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType, parseManifest } from './types.cjs';
2
2
  import 'zod';
3
3
  import 'ethers';
4
4
  import '@metamask/rpc-errors';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, parseManifest } from './types.js';
1
+ export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, PChainTransactionType, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType, parseManifest } from './types.js';
2
2
  import 'zod';
3
3
  import 'ethers';
4
4
  import '@metamask/rpc-errors';
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { e as Environment, c as RpcMethod, f as SigningDataType, b as TokenType, a as TransactionType, d as parseManifest } from './chunk-ODMEO2D7.js';
1
+ export { g as Environment, b as PChainTransactionType, e as RpcMethod, h as SigningDataType, d as TokenType, a as TransactionType, c as XChainTransactionType, f as parseManifest } from './chunk-4RO2H63T.js';
2
2
  //# sourceMappingURL=out.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/types.cjs CHANGED
@@ -1,32 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var chunkTJUF73LQ_cjs = require('./chunk-TJUF73LQ.cjs');
3
+ var chunkL7UO6W6T_cjs = require('./chunk-L7UO6W6T.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, 'Environment', {
8
8
  enumerable: true,
9
- get: function () { return chunkTJUF73LQ_cjs.e; }
9
+ get: function () { return chunkL7UO6W6T_cjs.g; }
10
+ });
11
+ Object.defineProperty(exports, 'PChainTransactionType', {
12
+ enumerable: true,
13
+ get: function () { return chunkL7UO6W6T_cjs.b; }
10
14
  });
11
15
  Object.defineProperty(exports, 'RpcMethod', {
12
16
  enumerable: true,
13
- get: function () { return chunkTJUF73LQ_cjs.c; }
17
+ get: function () { return chunkL7UO6W6T_cjs.e; }
14
18
  });
15
19
  Object.defineProperty(exports, 'SigningDataType', {
16
20
  enumerable: true,
17
- get: function () { return chunkTJUF73LQ_cjs.f; }
21
+ get: function () { return chunkL7UO6W6T_cjs.h; }
18
22
  });
19
23
  Object.defineProperty(exports, 'TokenType', {
20
24
  enumerable: true,
21
- get: function () { return chunkTJUF73LQ_cjs.b; }
25
+ get: function () { return chunkL7UO6W6T_cjs.d; }
22
26
  });
23
27
  Object.defineProperty(exports, 'TransactionType', {
24
28
  enumerable: true,
25
- get: function () { return chunkTJUF73LQ_cjs.a; }
29
+ get: function () { return chunkL7UO6W6T_cjs.a; }
30
+ });
31
+ Object.defineProperty(exports, 'XChainTransactionType', {
32
+ enumerable: true,
33
+ get: function () { return chunkL7UO6W6T_cjs.c; }
26
34
  });
27
35
  Object.defineProperty(exports, 'parseManifest', {
28
36
  enumerable: true,
29
- get: function () { return chunkTJUF73LQ_cjs.d; }
37
+ get: function () { return chunkL7UO6W6T_cjs.f; }
30
38
  });
31
39
  //# sourceMappingURL=out.js.map
32
40
  //# sourceMappingURL=types.cjs.map
package/dist/types.d.cts CHANGED
@@ -17,6 +17,32 @@ declare enum TransactionType {
17
17
  UNWRAP = "Unwrap",
18
18
  UNKNOWN = "UNKNOWN"
19
19
  }
20
+ declare enum PChainTransactionType {
21
+ ADD_VALIDATOR_TX = "AddValidatorTx",
22
+ ADD_SUBNET_VALIDATOR_TX = "AddSubnetValidatorTx",
23
+ ADD_DELEGATOR_TX = "AddDelegatorTx",
24
+ CREATE_CHAIN_TX = "CreateChainTx",
25
+ CREATE_SUBNET_TX = "CreateSubnetTx",
26
+ IMPORT_TX = "ImportTx",
27
+ EXPORT_TX = "ExportTx",
28
+ ADVANCE_TIME_TX = "AdvanceTimeTx",
29
+ REWARD_VALIDATOR_TX = "RewardValidatorTx",
30
+ REMOVE_SUBNET_VALIDATOR_TX = "RemoveSubnetValidatorTx",
31
+ TRANSFORM_SUBNET_TX = "TransformSubnetTx",
32
+ ADD_PERMISSIONLESS_VALIDATOR_TX = "AddPermissionlessValidatorTx",
33
+ ADD_PERMISSIONLESS_DELEGATOR_TX = "AddPermissionlessDelegatorTx",
34
+ BASE_TX = "BaseTx",
35
+ TRANSFER_SUBNET_OWNERSHIP_TX = "TransferSubnetOwnershipTx",
36
+ UNKNOWN = "UNKNOWN"
37
+ }
38
+ declare enum XChainTransactionType {
39
+ BASE_TX = "BaseTx",
40
+ CREATE_ASSET_TX = "CreateAssetTx",
41
+ OPERATION_TX = "OperationTx",
42
+ IMPORT_TX = "ImportTx",
43
+ EXPORT_TX = "ExportTx",
44
+ UNKNOWN = "UNKNOWN"
45
+ }
20
46
  declare enum TokenType {
21
47
  NATIVE = "NATIVE",
22
48
  ERC20 = "ERC20",
@@ -25,18 +51,19 @@ declare enum TokenType {
25
51
  }
26
52
  type NetworkFees = {
27
53
  low: {
28
- maxPriorityFeePerGas: bigint;
29
54
  maxFeePerGas: bigint;
55
+ maxPriorityFeePerGas?: bigint;
30
56
  };
31
57
  medium: {
32
- maxPriorityFeePerGas: bigint;
33
58
  maxFeePerGas: bigint;
59
+ maxPriorityFeePerGas?: bigint;
34
60
  };
35
61
  high: {
36
- maxPriorityFeePerGas: bigint;
37
62
  maxFeePerGas: bigint;
63
+ maxPriorityFeePerGas?: bigint;
38
64
  };
39
65
  baseFee: bigint;
66
+ isFixedFee: boolean;
40
67
  };
41
68
  declare enum RpcMethod {
42
69
  ETH_SEND_TRANSACTION = "eth_sendTransaction",
@@ -110,7 +137,7 @@ type Transaction = {
110
137
  tokens: TxToken[];
111
138
  gasPrice?: string;
112
139
  gasUsed: string;
113
- txType?: TransactionType;
140
+ txType?: TransactionType | PChainTransactionType | XChainTransactionType;
114
141
  chainId: string;
115
142
  method?: string;
116
143
  explorerLink: string;
@@ -486,4 +513,4 @@ interface ApprovalController {
486
513
  onTransactionReverted: (txHash: Hex) => void;
487
514
  }
488
515
 
489
- export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, parseManifest };
516
+ export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, PChainTransactionType, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType, parseManifest };
package/dist/types.d.ts CHANGED
@@ -17,6 +17,32 @@ declare enum TransactionType {
17
17
  UNWRAP = "Unwrap",
18
18
  UNKNOWN = "UNKNOWN"
19
19
  }
20
+ declare enum PChainTransactionType {
21
+ ADD_VALIDATOR_TX = "AddValidatorTx",
22
+ ADD_SUBNET_VALIDATOR_TX = "AddSubnetValidatorTx",
23
+ ADD_DELEGATOR_TX = "AddDelegatorTx",
24
+ CREATE_CHAIN_TX = "CreateChainTx",
25
+ CREATE_SUBNET_TX = "CreateSubnetTx",
26
+ IMPORT_TX = "ImportTx",
27
+ EXPORT_TX = "ExportTx",
28
+ ADVANCE_TIME_TX = "AdvanceTimeTx",
29
+ REWARD_VALIDATOR_TX = "RewardValidatorTx",
30
+ REMOVE_SUBNET_VALIDATOR_TX = "RemoveSubnetValidatorTx",
31
+ TRANSFORM_SUBNET_TX = "TransformSubnetTx",
32
+ ADD_PERMISSIONLESS_VALIDATOR_TX = "AddPermissionlessValidatorTx",
33
+ ADD_PERMISSIONLESS_DELEGATOR_TX = "AddPermissionlessDelegatorTx",
34
+ BASE_TX = "BaseTx",
35
+ TRANSFER_SUBNET_OWNERSHIP_TX = "TransferSubnetOwnershipTx",
36
+ UNKNOWN = "UNKNOWN"
37
+ }
38
+ declare enum XChainTransactionType {
39
+ BASE_TX = "BaseTx",
40
+ CREATE_ASSET_TX = "CreateAssetTx",
41
+ OPERATION_TX = "OperationTx",
42
+ IMPORT_TX = "ImportTx",
43
+ EXPORT_TX = "ExportTx",
44
+ UNKNOWN = "UNKNOWN"
45
+ }
20
46
  declare enum TokenType {
21
47
  NATIVE = "NATIVE",
22
48
  ERC20 = "ERC20",
@@ -25,18 +51,19 @@ declare enum TokenType {
25
51
  }
26
52
  type NetworkFees = {
27
53
  low: {
28
- maxPriorityFeePerGas: bigint;
29
54
  maxFeePerGas: bigint;
55
+ maxPriorityFeePerGas?: bigint;
30
56
  };
31
57
  medium: {
32
- maxPriorityFeePerGas: bigint;
33
58
  maxFeePerGas: bigint;
59
+ maxPriorityFeePerGas?: bigint;
34
60
  };
35
61
  high: {
36
- maxPriorityFeePerGas: bigint;
37
62
  maxFeePerGas: bigint;
63
+ maxPriorityFeePerGas?: bigint;
38
64
  };
39
65
  baseFee: bigint;
66
+ isFixedFee: boolean;
40
67
  };
41
68
  declare enum RpcMethod {
42
69
  ETH_SEND_TRANSACTION = "eth_sendTransaction",
@@ -110,7 +137,7 @@ type Transaction = {
110
137
  tokens: TxToken[];
111
138
  gasPrice?: string;
112
139
  gasUsed: string;
113
- txType?: TransactionType;
140
+ txType?: TransactionType | PChainTransactionType | XChainTransactionType;
114
141
  chainId: string;
115
142
  method?: string;
116
143
  explorerLink: string;
@@ -486,4 +513,4 @@ interface ApprovalController {
486
513
  onTransactionReverted: (txHash: Hex) => void;
487
514
  }
488
515
 
489
- export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, parseManifest };
516
+ export { ApprovalController, ApprovalParams, ApprovalResponse, Caip2ChainId, DappInfo, DisplayData, Environment, GetTransactionHistory, Hex, Manifest, Module, Network, NetworkContractToken, NetworkFees, NetworkToken, PChainTransactionType, RpcError, RpcMethod, RpcRequest, RpcResponse, SigningData, SigningDataType, TokenType, Transaction, TransactionHistoryResponse, TransactionType, TxToken, XChainTransactionType, parseManifest };
package/dist/types.js CHANGED
@@ -1,3 +1,3 @@
1
- export { e as Environment, c as RpcMethod, f as SigningDataType, b as TokenType, a as TransactionType, d as parseManifest } from './chunk-ODMEO2D7.js';
1
+ export { g as Environment, b as PChainTransactionType, e as RpcMethod, h as SigningDataType, d as TokenType, a as TransactionType, c as XChainTransactionType, f as parseManifest } from './chunk-4RO2H63T.js';
2
2
  //# sourceMappingURL=out.js.map
3
3
  //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avalabs/vm-module-types",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
package/src/types.ts CHANGED
@@ -18,6 +18,34 @@ export enum TransactionType {
18
18
  UNKNOWN = 'UNKNOWN',
19
19
  }
20
20
 
21
+ export enum PChainTransactionType {
22
+ ADD_VALIDATOR_TX = 'AddValidatorTx',
23
+ ADD_SUBNET_VALIDATOR_TX = 'AddSubnetValidatorTx',
24
+ ADD_DELEGATOR_TX = 'AddDelegatorTx',
25
+ CREATE_CHAIN_TX = 'CreateChainTx',
26
+ CREATE_SUBNET_TX = 'CreateSubnetTx',
27
+ IMPORT_TX = 'ImportTx',
28
+ EXPORT_TX = 'ExportTx',
29
+ ADVANCE_TIME_TX = 'AdvanceTimeTx',
30
+ REWARD_VALIDATOR_TX = 'RewardValidatorTx',
31
+ REMOVE_SUBNET_VALIDATOR_TX = 'RemoveSubnetValidatorTx',
32
+ TRANSFORM_SUBNET_TX = 'TransformSubnetTx',
33
+ ADD_PERMISSIONLESS_VALIDATOR_TX = 'AddPermissionlessValidatorTx',
34
+ ADD_PERMISSIONLESS_DELEGATOR_TX = 'AddPermissionlessDelegatorTx',
35
+ BASE_TX = 'BaseTx',
36
+ TRANSFER_SUBNET_OWNERSHIP_TX = 'TransferSubnetOwnershipTx',
37
+ UNKNOWN = 'UNKNOWN',
38
+ }
39
+
40
+ export enum XChainTransactionType {
41
+ BASE_TX = 'BaseTx',
42
+ CREATE_ASSET_TX = 'CreateAssetTx',
43
+ OPERATION_TX = 'OperationTx',
44
+ IMPORT_TX = 'ImportTx',
45
+ EXPORT_TX = 'ExportTx',
46
+ UNKNOWN = 'UNKNOWN',
47
+ }
48
+
21
49
  export enum TokenType {
22
50
  NATIVE = 'NATIVE',
23
51
  ERC20 = 'ERC20',
@@ -26,10 +54,11 @@ export enum TokenType {
26
54
  }
27
55
 
28
56
  export type NetworkFees = {
29
- low: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };
30
- medium: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };
31
- high: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };
57
+ low: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
58
+ medium: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
59
+ high: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
32
60
  baseFee: bigint;
61
+ isFixedFee: boolean;
33
62
  };
34
63
 
35
64
  export enum RpcMethod {
@@ -118,7 +147,7 @@ export type Transaction = {
118
147
  tokens: TxToken[];
119
148
  gasPrice?: string;
120
149
  gasUsed: string;
121
- txType?: TransactionType;
150
+ txType?: TransactionType | PChainTransactionType | XChainTransactionType;
122
151
  chainId: string; // chainId from ActiveNetwork used to fetch tx
123
152
  method?: string;
124
153
  explorerLink: string;
@@ -1,7 +0,0 @@
1
- import { object, string, boolean } from 'zod';
2
-
3
- var _=(e=>(e.BRIDGE="Bridge",e.SWAP="Swap",e.SEND="Send",e.RECEIVE="Receive",e.NFT_BUY="NFTBuy",e.APPROVE="Approve",e.TRANSFER="Transfer",e.NFT_SEND="NFTSend",e.NFT_RECEIVE="NFTReceive",e.AIRDROP="Airdrop",e.FILL_ORDER="FillOrder",e.UNWRAP="Unwrap",e.UNKNOWN="UNKNOWN",e))(_||{}),g=(o=>(o.NATIVE="NATIVE",o.ERC20="ERC20",o.ERC721="ERC721",o.ERC1155="ERC1155",o))(g||{}),c=(n=>(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))(c||{}),a=object({checksum:string(),location:object({npm:object({filePath:string(),packageName:string(),registry:string()})})}),E=object({name:string(),version:string(),description:string(),sources:object({module:a,provider:a.optional()}),network:object({chainIds:string().array(),namespaces:string().array()}),cointype:string(),permissions:object({rpc:object({dapps:boolean(),methods:string().array()})}),manifestVersion:string()}),u=p=>E.safeParse(p),l=(i=>(i.PRODUCTION="production",i.DEV="dev",i))(l||{}),d=(t=>(t.EVM_TRANSACTION="evm_transaction",t.EVM_MESSAGE_ETH_SIGN="evm_message_eth_sign",t.EVM_MESSAGE_PERSONAL_SIGN="evm_message_personal_sign",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA="evm_message_eth_sign_typed_data",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1="evm_message_eth_sign_typed_data_v1",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3="evm_message_eth_sign_typed_data_v3",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4="evm_message_eth_sign_typed_data_v4",t.AVALANCHE_TRANSACTION="avalanche_transaction",t.AVALANCHE_MESSAGE="avalanche_message",t.BTC_TRANSACTION="btc_transaction",t))(d||{});
4
-
5
- export { _ as a, g as b, c, u as d, l as e, d as f };
6
- //# sourceMappingURL=out.js.map
7
- //# sourceMappingURL=chunk-ODMEO2D7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["object","string","boolean","TransactionType","TokenType","RpcMethod","sourceSchema","manifestSchema","parseManifest","params","Environment","SigningDataType"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,UAAAC,EAAQ,WAAAC,MAAkB,MAIpC,IAAKC,OACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,SAAW,UACXA,EAAA,YAAc,aACdA,EAAA,QAAU,UACVA,EAAA,WAAa,YACbA,EAAA,OAAS,SACTA,EAAA,QAAU,UAbAA,OAAA,IAgBAC,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UAJAA,OAAA,IAcAC,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WARDA,OAAA,IAkJNC,EAAeN,EAAO,CAC1B,SAAUC,EAAO,EACjB,SAAUD,EAAO,CACf,IAAKA,EAAO,CACV,SAAUC,EAAO,EACjB,YAAaA,EAAO,EACpB,SAAUA,EAAO,CACnB,CAAC,CACH,CAAC,CACH,CAAC,EAEKM,EAAiBP,EAAO,CAC5B,KAAMC,EAAO,EACb,QAASA,EAAO,EAChB,YAAaA,EAAO,EACpB,QAASD,EAAO,CACd,OAAQM,EACR,SAAUA,EAAa,SAAS,CAClC,CAAC,EACD,QAASN,EAAO,CACd,SAAUC,EAAO,EAAE,MAAM,EACzB,WAAYA,EAAO,EAAE,MAAM,CAC7B,CAAC,EACD,SAAUA,EAAO,EACjB,YAAaD,EAAO,CAClB,IAAKA,EAAO,CACV,MAAOE,EAAQ,EACf,QAASD,EAAO,EAAE,MAAM,CAC1B,CAAC,CACH,CAAC,EACD,gBAAiBA,EAAO,CAC1B,CAAC,EAIYO,EAAiBC,GACrBF,EAAe,UAAUE,CAAM,EAO5BC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAyBAC,OAEVA,EAAA,gBAAkB,kBAClBA,EAAA,qBAAuB,uBACvBA,EAAA,0BAA4B,4BAC5BA,EAAA,gCAAkC,kCAClCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCAGrCA,EAAA,sBAAwB,wBACxBA,EAAA,kBAAoB,oBAGpBA,EAAA,gBAAkB,kBAfRA,OAAA","sourcesContent":["import { object, string, boolean, z } from 'zod';\nimport type { TransactionRequest } from 'ethers';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\n\nexport enum TransactionType {\n BRIDGE = 'Bridge',\n SWAP = 'Swap',\n SEND = 'Send',\n RECEIVE = 'Receive',\n NFT_BUY = 'NFTBuy',\n APPROVE = 'Approve',\n TRANSFER = 'Transfer',\n NFT_SEND = 'NFTSend',\n NFT_RECEIVE = 'NFTReceive',\n AIRDROP = 'Airdrop',\n FILL_ORDER = 'FillOrder',\n UNWRAP = 'Unwrap',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n}\n\nexport type NetworkFees = {\n low: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n medium: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n high: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n baseFee: bigint;\n};\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\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 type Network = {\n chainId: number;\n chainName: string;\n rpcUrl: string;\n networkToken: NetworkToken;\n utilityAddresses?: {\n multicall: string;\n };\n logoUrl?: string;\n isTestnet?: boolean;\n explorerUrl?: string;\n};\n\nexport interface Module {\n getManifest: () => Manifest | undefined;\n getBalances: () => Promise<string>;\n getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;\n getNetworkFee: (network: Network) => Promise<NetworkFees>;\n getAddress: () => Promise<string>;\n getTokens: (network: Network) => Promise<NetworkContractToken[]>;\n onRpcRequest: (request: RpcRequest, network: Network) => Promise<RpcResponse>;\n}\n\nexport type GetTransactionHistory = {\n network: Network;\n address: string;\n nextPageToken?: string;\n offset?: number;\n};\n\nexport type TransactionHistoryResponse = {\n transactions: Transaction[];\n nextPageToken?: string;\n};\n\nexport type Transaction = {\n isContractCall: boolean;\n isIncoming: boolean;\n isOutgoing: boolean;\n isSender: boolean;\n timestamp: number;\n hash: string;\n from: string;\n to: string;\n tokens: TxToken[];\n gasPrice?: string;\n gasUsed: string;\n txType?: TransactionType;\n chainId: string; // chainId from ActiveNetwork used to fetch tx\n method?: string;\n explorerLink: string;\n};\n\nexport interface TxToken {\n decimal?: string;\n name: string;\n symbol: string;\n amount: string;\n imageUri?: string;\n from?: RichAddress;\n to?: RichAddress;\n collectableTokenId?: string;\n type: TokenType;\n}\n\ntype RichAddress = {\n /**\n * The contract name.\n */\n name?: string;\n /**\n * The contract symbol.\n */\n symbol?: string;\n /**\n * The number of decimals the token uses. For example `6`, means to divide the token amount by `1000000` to get its user representation.\n */\n decimals?: number;\n /**\n * The logo uri for the address.\n */\n logoUri?: string;\n /**\n * A wallet or contract address in mixed-case checksum encoding.\n */\n address: string;\n};\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n description: string;\n decimals: number;\n logoUri: string;\n}\n\nexport interface NetworkContractToken {\n address: string;\n chainId?: number;\n color?: string;\n contractType: string;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nconst sourceSchema = object({\n checksum: string(),\n location: object({\n npm: object({\n filePath: string(),\n packageName: string(),\n registry: string(),\n }),\n }),\n});\n\nconst manifestSchema = object({\n name: string(),\n version: string(),\n description: string(),\n sources: object({\n module: sourceSchema,\n provider: sourceSchema.optional(),\n }),\n network: object({\n chainIds: string().array(),\n namespaces: string().array(),\n }),\n cointype: string(),\n permissions: object({\n rpc: object({\n dapps: boolean(),\n methods: string().array(),\n }),\n }),\n manifestVersion: string(),\n});\n\nexport type Manifest = z.infer<typeof manifestSchema>;\n\nexport const parseManifest = (params: unknown): z.SafeParseReturnType<unknown, Manifest> => {\n return manifestSchema.safeParse(params);\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport type DisplayData = {\n title: string;\n network: {\n chainId: number;\n name: string;\n logoUrl?: string;\n };\n messageDetails?: string;\n transactionDetails?: {\n website: string;\n from: string;\n to: string;\n data?: string;\n };\n networkFeeSelector?: boolean;\n};\n\n/**\n * Enum for different types of signing data.\n */\nexport enum SigningDataType {\n // EVM signing data types\n EVM_TRANSACTION = 'evm_transaction',\n EVM_MESSAGE_ETH_SIGN = 'evm_message_eth_sign',\n EVM_MESSAGE_PERSONAL_SIGN = 'evm_message_personal_sign',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA = 'evm_message_eth_sign_typed_data',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1 = 'evm_message_eth_sign_typed_data_v1',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3 = 'evm_message_eth_sign_typed_data_v3',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4 = 'evm_message_eth_sign_typed_data_v4',\n\n // Avalanche signing data types\n AVALANCHE_TRANSACTION = 'avalanche_transaction',\n AVALANCHE_MESSAGE = 'avalanche_message',\n\n // Bitcoin signing data types\n BTC_TRANSACTION = 'btc_transaction',\n}\n\nexport type SigningData =\n | {\n type: SigningDataType.EVM_TRANSACTION;\n account: string;\n chainId: number;\n data: TransactionRequest;\n }\n | {\n type: SigningDataType.EVM_MESSAGE_ETH_SIGN;\n account: string;\n chainId: number;\n data: string;\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"]}
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- var zod = require('zod');
4
-
5
- var _=(e=>(e.BRIDGE="Bridge",e.SWAP="Swap",e.SEND="Send",e.RECEIVE="Receive",e.NFT_BUY="NFTBuy",e.APPROVE="Approve",e.TRANSFER="Transfer",e.NFT_SEND="NFTSend",e.NFT_RECEIVE="NFTReceive",e.AIRDROP="Airdrop",e.FILL_ORDER="FillOrder",e.UNWRAP="Unwrap",e.UNKNOWN="UNKNOWN",e))(_||{}),g=(o=>(o.NATIVE="NATIVE",o.ERC20="ERC20",o.ERC721="ERC721",o.ERC1155="ERC1155",o))(g||{}),c=(n=>(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))(c||{}),a=zod.object({checksum:zod.string(),location:zod.object({npm:zod.object({filePath:zod.string(),packageName:zod.string(),registry:zod.string()})})}),E=zod.object({name:zod.string(),version:zod.string(),description:zod.string(),sources:zod.object({module:a,provider:a.optional()}),network:zod.object({chainIds:zod.string().array(),namespaces:zod.string().array()}),cointype:zod.string(),permissions:zod.object({rpc:zod.object({dapps:zod.boolean(),methods:zod.string().array()})}),manifestVersion:zod.string()}),u=p=>E.safeParse(p),l=(i=>(i.PRODUCTION="production",i.DEV="dev",i))(l||{}),d=(t=>(t.EVM_TRANSACTION="evm_transaction",t.EVM_MESSAGE_ETH_SIGN="evm_message_eth_sign",t.EVM_MESSAGE_PERSONAL_SIGN="evm_message_personal_sign",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA="evm_message_eth_sign_typed_data",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1="evm_message_eth_sign_typed_data_v1",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3="evm_message_eth_sign_typed_data_v3",t.EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4="evm_message_eth_sign_typed_data_v4",t.AVALANCHE_TRANSACTION="avalanche_transaction",t.AVALANCHE_MESSAGE="avalanche_message",t.BTC_TRANSACTION="btc_transaction",t))(d||{});
6
-
7
- exports.a = _;
8
- exports.b = g;
9
- exports.c = c;
10
- exports.d = u;
11
- exports.e = l;
12
- exports.f = d;
13
- //# sourceMappingURL=out.js.map
14
- //# sourceMappingURL=chunk-TJUF73LQ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["object","string","boolean","TransactionType","TokenType","RpcMethod","sourceSchema","manifestSchema","parseManifest","params","Environment","SigningDataType"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,UAAAC,EAAQ,WAAAC,MAAkB,MAIpC,IAAKC,OACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,SAAW,UACXA,EAAA,YAAc,aACdA,EAAA,QAAU,UACVA,EAAA,WAAa,YACbA,EAAA,OAAS,SACTA,EAAA,QAAU,UAbAA,OAAA,IAgBAC,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UAJAA,OAAA,IAcAC,OAEVA,EAAA,qBAAuB,sBACvBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WARDA,OAAA,IAkJNC,EAAeN,EAAO,CAC1B,SAAUC,EAAO,EACjB,SAAUD,EAAO,CACf,IAAKA,EAAO,CACV,SAAUC,EAAO,EACjB,YAAaA,EAAO,EACpB,SAAUA,EAAO,CACnB,CAAC,CACH,CAAC,CACH,CAAC,EAEKM,EAAiBP,EAAO,CAC5B,KAAMC,EAAO,EACb,QAASA,EAAO,EAChB,YAAaA,EAAO,EACpB,QAASD,EAAO,CACd,OAAQM,EACR,SAAUA,EAAa,SAAS,CAClC,CAAC,EACD,QAASN,EAAO,CACd,SAAUC,EAAO,EAAE,MAAM,EACzB,WAAYA,EAAO,EAAE,MAAM,CAC7B,CAAC,EACD,SAAUA,EAAO,EACjB,YAAaD,EAAO,CAClB,IAAKA,EAAO,CACV,MAAOE,EAAQ,EACf,QAASD,EAAO,EAAE,MAAM,CAC1B,CAAC,CACH,CAAC,EACD,gBAAiBA,EAAO,CAC1B,CAAC,EAIYO,EAAiBC,GACrBF,EAAe,UAAUE,CAAM,EAO5BC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAyBAC,OAEVA,EAAA,gBAAkB,kBAClBA,EAAA,qBAAuB,uBACvBA,EAAA,0BAA4B,4BAC5BA,EAAA,gCAAkC,kCAClCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCACrCA,EAAA,mCAAqC,qCAGrCA,EAAA,sBAAwB,wBACxBA,EAAA,kBAAoB,oBAGpBA,EAAA,gBAAkB,kBAfRA,OAAA","sourcesContent":["import { object, string, boolean, z } from 'zod';\nimport type { TransactionRequest } from 'ethers';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\n\nexport enum TransactionType {\n BRIDGE = 'Bridge',\n SWAP = 'Swap',\n SEND = 'Send',\n RECEIVE = 'Receive',\n NFT_BUY = 'NFTBuy',\n APPROVE = 'Approve',\n TRANSFER = 'Transfer',\n NFT_SEND = 'NFTSend',\n NFT_RECEIVE = 'NFTReceive',\n AIRDROP = 'Airdrop',\n FILL_ORDER = 'FillOrder',\n UNWRAP = 'Unwrap',\n UNKNOWN = 'UNKNOWN',\n}\n\nexport enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n}\n\nexport type NetworkFees = {\n low: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n medium: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n high: { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint };\n baseFee: bigint;\n};\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\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 type Network = {\n chainId: number;\n chainName: string;\n rpcUrl: string;\n networkToken: NetworkToken;\n utilityAddresses?: {\n multicall: string;\n };\n logoUrl?: string;\n isTestnet?: boolean;\n explorerUrl?: string;\n};\n\nexport interface Module {\n getManifest: () => Manifest | undefined;\n getBalances: () => Promise<string>;\n getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;\n getNetworkFee: (network: Network) => Promise<NetworkFees>;\n getAddress: () => Promise<string>;\n getTokens: (network: Network) => Promise<NetworkContractToken[]>;\n onRpcRequest: (request: RpcRequest, network: Network) => Promise<RpcResponse>;\n}\n\nexport type GetTransactionHistory = {\n network: Network;\n address: string;\n nextPageToken?: string;\n offset?: number;\n};\n\nexport type TransactionHistoryResponse = {\n transactions: Transaction[];\n nextPageToken?: string;\n};\n\nexport type Transaction = {\n isContractCall: boolean;\n isIncoming: boolean;\n isOutgoing: boolean;\n isSender: boolean;\n timestamp: number;\n hash: string;\n from: string;\n to: string;\n tokens: TxToken[];\n gasPrice?: string;\n gasUsed: string;\n txType?: TransactionType;\n chainId: string; // chainId from ActiveNetwork used to fetch tx\n method?: string;\n explorerLink: string;\n};\n\nexport interface TxToken {\n decimal?: string;\n name: string;\n symbol: string;\n amount: string;\n imageUri?: string;\n from?: RichAddress;\n to?: RichAddress;\n collectableTokenId?: string;\n type: TokenType;\n}\n\ntype RichAddress = {\n /**\n * The contract name.\n */\n name?: string;\n /**\n * The contract symbol.\n */\n symbol?: string;\n /**\n * The number of decimals the token uses. For example `6`, means to divide the token amount by `1000000` to get its user representation.\n */\n decimals?: number;\n /**\n * The logo uri for the address.\n */\n logoUri?: string;\n /**\n * A wallet or contract address in mixed-case checksum encoding.\n */\n address: string;\n};\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n description: string;\n decimals: number;\n logoUri: string;\n}\n\nexport interface NetworkContractToken {\n address: string;\n chainId?: number;\n color?: string;\n contractType: string;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nconst sourceSchema = object({\n checksum: string(),\n location: object({\n npm: object({\n filePath: string(),\n packageName: string(),\n registry: string(),\n }),\n }),\n});\n\nconst manifestSchema = object({\n name: string(),\n version: string(),\n description: string(),\n sources: object({\n module: sourceSchema,\n provider: sourceSchema.optional(),\n }),\n network: object({\n chainIds: string().array(),\n namespaces: string().array(),\n }),\n cointype: string(),\n permissions: object({\n rpc: object({\n dapps: boolean(),\n methods: string().array(),\n }),\n }),\n manifestVersion: string(),\n});\n\nexport type Manifest = z.infer<typeof manifestSchema>;\n\nexport const parseManifest = (params: unknown): z.SafeParseReturnType<unknown, Manifest> => {\n return manifestSchema.safeParse(params);\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport type DisplayData = {\n title: string;\n network: {\n chainId: number;\n name: string;\n logoUrl?: string;\n };\n messageDetails?: string;\n transactionDetails?: {\n website: string;\n from: string;\n to: string;\n data?: string;\n };\n networkFeeSelector?: boolean;\n};\n\n/**\n * Enum for different types of signing data.\n */\nexport enum SigningDataType {\n // EVM signing data types\n EVM_TRANSACTION = 'evm_transaction',\n EVM_MESSAGE_ETH_SIGN = 'evm_message_eth_sign',\n EVM_MESSAGE_PERSONAL_SIGN = 'evm_message_personal_sign',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA = 'evm_message_eth_sign_typed_data',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V1 = 'evm_message_eth_sign_typed_data_v1',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V3 = 'evm_message_eth_sign_typed_data_v3',\n EVM_MESSAGE_ETH_SIGN_TYPED_DATA_V4 = 'evm_message_eth_sign_typed_data_v4',\n\n // Avalanche signing data types\n AVALANCHE_TRANSACTION = 'avalanche_transaction',\n AVALANCHE_MESSAGE = 'avalanche_message',\n\n // Bitcoin signing data types\n BTC_TRANSACTION = 'btc_transaction',\n}\n\nexport type SigningData =\n | {\n type: SigningDataType.EVM_TRANSACTION;\n account: string;\n chainId: number;\n data: TransactionRequest;\n }\n | {\n type: SigningDataType.EVM_MESSAGE_ETH_SIGN;\n account: string;\n chainId: number;\n data: string;\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"]}