@lit-protocol/vincent-ability-evm-transaction-signer 0.0.2 → 0.0.4-ea
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/CHANGELOG.md +2 -2
- package/README.md +16 -24
- package/dist/package.json +4 -4
- package/dist/src/generated/vincent-ability-metadata.json +1 -1
- package/dist/src/generated/vincent-bundled-tool.d.ts +971 -0
- package/dist/src/generated/vincent-bundled-tool.d.ts.map +1 -0
- package/dist/src/generated/vincent-bundled-tool.js +15 -0
- package/dist/src/generated/vincent-bundled-tool.js.map +1 -0
- package/package.json +5 -5
- package/dist/CHANGELOG.md +0 -7
- package/dist/CONTRIBUTING.md +0 -88
- package/dist/README.md +0 -174
- package/dist/src/generated/lit-action.js +0 -9
- package/dist/src/generated/vincent-bundled-ability.ts +0 -13
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -1,42 +1,34 @@
|
|
|
1
|
-
# Vincent Ability:
|
|
1
|
+
# Vincent Ability: Transaction Signer
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
The
|
|
5
|
+
The Transaction Signer Ability enables Vincent Agent Wallets to sign EVM transactions utilizing the Vincent ecosystem to govern who can request signatures, as well as what's included in the transactions.
|
|
6
6
|
|
|
7
7
|
This Vincent Ability is intended to be used with Vincent Policies, such as the [@lit-protocol/vincent-policy-contract-whitelist](../policy-contract-whitelist/) policy, to provide protections such as only signing transactions that interact with specific contracts and/or call specific functions on contract.
|
|
8
8
|
|
|
9
|
-
## Key Features
|
|
10
|
-
|
|
11
|
-
- **Secure Transaction Signing**: Signs transactions using Vincent Agent Wallets within Lit Protocol's secure Trusted Execution Environment
|
|
12
|
-
- **Full Transaction Support**: Handles all EVM transaction types including legacy, EIP-2930, and EIP-1559
|
|
13
|
-
- **Policy Integration**: Supports the Contract Whitelist Policy for restricting what transactions can be signed
|
|
14
|
-
|
|
15
9
|
## How It Works
|
|
16
10
|
|
|
17
11
|
The Transaction Signer Ability is built using the Vincent Ability SDK and provides a secure way to sign Ethereum transactions. Here's how it operates:
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
2. **Execution Phase**: If permitted by the evaluated Policies, signs the serialized transaction
|
|
26
|
-
- Signs the transaction using the Vincent Agent Wallet
|
|
27
|
-
- Returns both the signed transaction hex and decoded signature components
|
|
13
|
+
- **Input**: Accepts a serialized unsigned EVM transaction
|
|
14
|
+
- **Parsing**: Uses `ethers.utils.parseTransaction` to deserialize and validate the transaction structure
|
|
15
|
+
- Important: All properties of the transaction are expected to be provided, including `nonce`, `gasPrice`, `gasLimit`, etc. The Ability will not fetch these values from the network on your behalf.
|
|
16
|
+
- **Signing**: The Vincent Agent Wallet (PKP (Programmable Key Pair)) signs the transaction within the Lit Action environment
|
|
17
|
+
- **Output**: Returns both the signed transaction hex and a deserialized version with signature components
|
|
28
18
|
|
|
29
19
|
### Workflow
|
|
30
20
|
|
|
31
|
-
1. **Precheck Phase**:
|
|
21
|
+
1. **Precheck Phase**:
|
|
32
22
|
|
|
33
|
-
- Deserializes the
|
|
34
|
-
- Validates
|
|
35
|
-
-
|
|
23
|
+
- Deserializes the input transaction
|
|
24
|
+
- Validates transaction structure
|
|
25
|
+
- Executes any registered Vincent Policy to validate the transaction meets the policy requirements
|
|
26
|
+
- Returns deserialized transaction details if successful
|
|
36
27
|
|
|
37
|
-
2. **Execution Phase**:
|
|
38
|
-
-
|
|
39
|
-
-
|
|
28
|
+
2. **Execution Phase**:
|
|
29
|
+
- Performs the same validation as the precheck phase
|
|
30
|
+
- Signs the transaction using the Agent Wallet
|
|
31
|
+
- Returns both the signed transaction ready for broadcast, and the deserialized signed transaction
|
|
40
32
|
|
|
41
33
|
## Using the Ability
|
|
42
34
|
|
package/dist/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lit-protocol/vincent-ability-evm-transaction-signer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4-ea",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@lit-protocol/vincent-policy-contract-whitelist": "
|
|
9
|
-
"@lit-protocol/vincent-ability-sdk": "
|
|
8
|
+
"@lit-protocol/vincent-policy-contract-whitelist": "0.0.4-ea",
|
|
9
|
+
"@lit-protocol/vincent-ability-sdk": "0.0.4-ea",
|
|
10
10
|
"ethers": "^5.8.0",
|
|
11
11
|
"tslib": "2.8.1",
|
|
12
12
|
"zod": "^3.25.64"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@lit-protocol/vincent-app-sdk": "
|
|
15
|
+
"@lit-protocol/vincent-app-sdk": "0.0.4-ea"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"esbuild": "^0.19.12",
|