@avalabs/vm-module-types 0.0.0-automate-signed-commit-20240712163012 → 0.0.0-automate-changeset-20240712214016
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/.turbo/turbo-build.log +10 -10
- package/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +7 -1
- package/dist/{chunk-ODMEO2D7.js → chunk-I2C5RD3T.js} +1 -1
- package/dist/chunk-I2C5RD3T.js.map +1 -0
- package/dist/{chunk-TJUF73LQ.cjs → chunk-QMZJB7VH.cjs} +1 -1
- package/dist/chunk-QMZJB7VH.cjs.map +1 -0
- package/dist/index.cjs +7 -7
- package/dist/index.js +1 -1
- package/dist/types.cjs +7 -7
- package/dist/types.d.cts +4 -3
- package/dist/types.d.ts +4 -3
- package/dist/types.js +1 -1
- package/package.json +2 -2
- package/src/types.ts +4 -3
- package/dist/chunk-ODMEO2D7.js.map +0 -1
- package/dist/chunk-TJUF73LQ.cjs.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @avalabs/vm-module-types@0.0.
|
|
2
|
+
> @avalabs/vm-module-types@0.0.12 build /home/runner/work/vm-modules/vm-modules/packages/types
|
|
3
3
|
> tsup
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts, src/types.ts
|
|
@@ -12,21 +12,21 @@
|
|
|
12
12
|
[34mESM[39m Build start
|
|
13
13
|
[32mCJS[39m [1mdist/index.cjs [22m[32m873.00 B[39m
|
|
14
14
|
[32mCJS[39m [1mdist/types.cjs [22m[32m873.00 B[39m
|
|
15
|
-
[32mCJS[39m [1mdist/chunk-
|
|
15
|
+
[32mCJS[39m [1mdist/chunk-QMZJB7VH.cjs [22m[32m1.97 KB[39m
|
|
16
16
|
[32mCJS[39m [1mdist/index.cjs.map [22m[32m51.00 B[39m
|
|
17
17
|
[32mCJS[39m [1mdist/types.cjs.map [22m[32m51.00 B[39m
|
|
18
|
-
[32mCJS[39m [1mdist/chunk-
|
|
19
|
-
[32mCJS[39m ⚡️ Build success in
|
|
18
|
+
[32mCJS[39m [1mdist/chunk-QMZJB7VH.cjs.map [22m[32m8.63 KB[39m
|
|
19
|
+
[32mCJS[39m ⚡️ Build success in 563ms
|
|
20
20
|
[32mESM[39m [1mdist/index.js [22m[32m217.00 B[39m
|
|
21
21
|
[32mESM[39m [1mdist/types.js [22m[32m217.00 B[39m
|
|
22
|
-
[32mESM[39m [1mdist/chunk-
|
|
22
|
+
[32mESM[39m [1mdist/chunk-I2C5RD3T.js [22m[32m1.86 KB[39m
|
|
23
23
|
[32mESM[39m [1mdist/index.js.map [22m[32m51.00 B[39m
|
|
24
24
|
[32mESM[39m [1mdist/types.js.map [22m[32m51.00 B[39m
|
|
25
|
-
[32mESM[39m [1mdist/chunk-
|
|
26
|
-
[32mESM[39m ⚡️ Build success in
|
|
25
|
+
[32mESM[39m [1mdist/chunk-I2C5RD3T.js.map [22m[32m8.63 KB[39m
|
|
26
|
+
[32mESM[39m ⚡️ Build success in 570ms
|
|
27
27
|
[34mDTS[39m Build start
|
|
28
|
-
[32mDTS[39m ⚡️ Build success in
|
|
29
|
-
[32mDTS[39m [1mdist/types.d.cts [22m[32m13.
|
|
28
|
+
[32mDTS[39m ⚡️ Build success in 7271ms
|
|
29
|
+
[32mDTS[39m [1mdist/types.d.cts [22m[32m13.14 KB[39m
|
|
30
30
|
[32mDTS[39m [1mdist/index.d.cts [22m[32m469.00 B[39m
|
|
31
|
-
[32mDTS[39m [1mdist/types.d.ts [22m[32m13.
|
|
31
|
+
[32mDTS[39m [1mdist/types.d.ts [22m[32m13.14 KB[39m
|
|
32
32
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m468.00 B[39m
|
package/.turbo/turbo-lint.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
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,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,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: { 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;\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 @@
|
|
|
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,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,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: { 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;\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,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkQMZJB7VH_cjs = require('./chunk-QMZJB7VH.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, 'Environment', {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkQMZJB7VH_cjs.e; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkQMZJB7VH_cjs.c; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, 'SigningDataType', {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkQMZJB7VH_cjs.f; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, 'TokenType', {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkQMZJB7VH_cjs.b; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, 'TransactionType', {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkQMZJB7VH_cjs.a; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, 'parseManifest', {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkQMZJB7VH_cjs.d; }
|
|
30
30
|
});
|
|
31
31
|
//# sourceMappingURL=out.js.map
|
|
32
32
|
//# sourceMappingURL=index.cjs.map
|
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-
|
|
1
|
+
export { e as Environment, c as RpcMethod, f as SigningDataType, b as TokenType, a as TransactionType, d as parseManifest } from './chunk-I2C5RD3T.js';
|
|
2
2
|
//# sourceMappingURL=out.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/types.cjs
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkQMZJB7VH_cjs = require('./chunk-QMZJB7VH.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, 'Environment', {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkQMZJB7VH_cjs.e; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, 'RpcMethod', {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkQMZJB7VH_cjs.c; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, 'SigningDataType', {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkQMZJB7VH_cjs.f; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, 'TokenType', {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkQMZJB7VH_cjs.b; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, 'TransactionType', {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkQMZJB7VH_cjs.a; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, 'parseManifest', {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkQMZJB7VH_cjs.d; }
|
|
30
30
|
});
|
|
31
31
|
//# sourceMappingURL=out.js.map
|
|
32
32
|
//# sourceMappingURL=types.cjs.map
|
package/dist/types.d.cts
CHANGED
|
@@ -25,18 +25,19 @@ declare enum TokenType {
|
|
|
25
25
|
}
|
|
26
26
|
type NetworkFees = {
|
|
27
27
|
low: {
|
|
28
|
-
maxPriorityFeePerGas: bigint;
|
|
29
28
|
maxFeePerGas: bigint;
|
|
29
|
+
maxPriorityFeePerGas?: bigint;
|
|
30
30
|
};
|
|
31
31
|
medium: {
|
|
32
|
-
maxPriorityFeePerGas: bigint;
|
|
33
32
|
maxFeePerGas: bigint;
|
|
33
|
+
maxPriorityFeePerGas?: bigint;
|
|
34
34
|
};
|
|
35
35
|
high: {
|
|
36
|
-
maxPriorityFeePerGas: bigint;
|
|
37
36
|
maxFeePerGas: bigint;
|
|
37
|
+
maxPriorityFeePerGas?: bigint;
|
|
38
38
|
};
|
|
39
39
|
baseFee: bigint;
|
|
40
|
+
isFixedFee: boolean;
|
|
40
41
|
};
|
|
41
42
|
declare enum RpcMethod {
|
|
42
43
|
ETH_SEND_TRANSACTION = "eth_sendTransaction",
|
package/dist/types.d.ts
CHANGED
|
@@ -25,18 +25,19 @@ declare enum TokenType {
|
|
|
25
25
|
}
|
|
26
26
|
type NetworkFees = {
|
|
27
27
|
low: {
|
|
28
|
-
maxPriorityFeePerGas: bigint;
|
|
29
28
|
maxFeePerGas: bigint;
|
|
29
|
+
maxPriorityFeePerGas?: bigint;
|
|
30
30
|
};
|
|
31
31
|
medium: {
|
|
32
|
-
maxPriorityFeePerGas: bigint;
|
|
33
32
|
maxFeePerGas: bigint;
|
|
33
|
+
maxPriorityFeePerGas?: bigint;
|
|
34
34
|
};
|
|
35
35
|
high: {
|
|
36
|
-
maxPriorityFeePerGas: bigint;
|
|
37
36
|
maxFeePerGas: bigint;
|
|
37
|
+
maxPriorityFeePerGas?: bigint;
|
|
38
38
|
};
|
|
39
39
|
baseFee: bigint;
|
|
40
|
+
isFixedFee: boolean;
|
|
40
41
|
};
|
|
41
42
|
declare enum RpcMethod {
|
|
42
43
|
ETH_SEND_TRANSACTION = "eth_sendTransaction",
|
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-
|
|
1
|
+
export { e as Environment, c as RpcMethod, f as SigningDataType, b as TokenType, a as TransactionType, d as parseManifest } from './chunk-I2C5RD3T.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.0-automate-
|
|
3
|
+
"version": "0.0.0-automate-changeset-20240712214016",
|
|
4
4
|
"main": "dist/index.cjs",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"tsup": "7.2.0",
|
|
15
15
|
"@internal/tsup-config": "0.0.1",
|
|
16
|
-
"eslint-config-custom": "0.0.
|
|
16
|
+
"eslint-config-custom": "0.0.2"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"ethers": "^6.8.1"
|
package/src/types.ts
CHANGED
|
@@ -26,10 +26,11 @@ export enum TokenType {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export type NetworkFees = {
|
|
29
|
-
low: {
|
|
30
|
-
medium: {
|
|
31
|
-
high: {
|
|
29
|
+
low: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
|
|
30
|
+
medium: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
|
|
31
|
+
high: { maxFeePerGas: bigint; maxPriorityFeePerGas?: bigint };
|
|
32
32
|
baseFee: bigint;
|
|
33
|
+
isFixedFee: boolean;
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
export enum RpcMethod {
|
|
@@ -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 +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"]}
|