@dag-kit/kit 1.0.2 ā 1.0.4-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +564 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +209 -0
- package/dist/index.d.ts +209 -0
- package/dist/index.js +544 -0
- package/dist/index.js.map +1 -0
- package/package.json +16 -11
- package/src/clients/actions/contract.ts +1 -1
- package/src/clients/actions/example.ts +252 -252
- package/src/clients/actions/example2.ts +60 -60
- package/src/clients/actions/index.ts +145 -0
- package/src/clients/actions/main.ts +34 -17
- package/src/clients/actions/test.ts +210 -210
- package/src/clients/types.ts +2 -1
- package/src/exports/index.ts +7 -4
- package/src/exports/public-types.ts +6 -0
- package/src/index.ts +17 -0
- package/src/signers/PrivateKeySigner.ts +41 -0
- package/src/signers/PrivySigner.ts +93 -0
- package/src/signers/types.ts +45 -0
- package/src/version.ts +1 -1
- package/dist/esm/clients/actions/contract.js +0 -42
- package/dist/esm/clients/actions/example.js +0 -211
- package/dist/esm/clients/actions/example2.js +0 -50
- package/dist/esm/clients/actions/index.js +0 -1
- package/dist/esm/clients/actions/main.js +0 -415
- package/dist/esm/clients/actions/test.js +0 -1
- package/dist/esm/clients/actions/testPaymasterService.js +0 -88
- package/dist/esm/clients/chains.js +0 -19
- package/dist/esm/clients/types.js +0 -1
- package/dist/esm/exports/index.js +0 -2
- package/dist/esm/version.js +0 -3
- package/dist/types/clients/actions/contract.d.ts +0 -12
- package/dist/types/clients/actions/contract.d.ts.map +0 -1
- package/dist/types/clients/actions/example.d.ts +0 -2
- package/dist/types/clients/actions/example.d.ts.map +0 -1
- package/dist/types/clients/actions/example2.d.ts +0 -2
- package/dist/types/clients/actions/example2.d.ts.map +0 -1
- package/dist/types/clients/actions/index.d.ts +0 -1
- package/dist/types/clients/actions/index.d.ts.map +0 -1
- package/dist/types/clients/actions/main.d.ts +0 -40
- package/dist/types/clients/actions/main.d.ts.map +0 -1
- package/dist/types/clients/actions/test.d.ts +0 -1
- package/dist/types/clients/actions/test.d.ts.map +0 -1
- package/dist/types/clients/actions/testPaymasterService.d.ts +0 -2
- package/dist/types/clients/actions/testPaymasterService.d.ts.map +0 -1
- package/dist/types/clients/chains.d.ts +0 -81
- package/dist/types/clients/chains.d.ts.map +0 -1
- package/dist/types/clients/types.d.ts +0 -31
- package/dist/types/clients/types.d.ts.map +0 -1
- package/dist/types/exports/index.d.ts +0 -4
- package/dist/types/exports/index.d.ts.map +0 -1
- package/dist/types/version.d.ts +0 -2
- package/dist/types/version.d.ts.map +0 -1
package/src/version.ts
CHANGED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export const abi = [
|
|
2
|
-
{
|
|
3
|
-
inputs: [],
|
|
4
|
-
name: "decrement",
|
|
5
|
-
outputs: [],
|
|
6
|
-
stateMutability: "nonpayable",
|
|
7
|
-
type: "function",
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
inputs: [],
|
|
11
|
-
name: "increment",
|
|
12
|
-
outputs: [],
|
|
13
|
-
stateMutability: "nonpayable",
|
|
14
|
-
type: "function",
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
inputs: [],
|
|
18
|
-
name: "getNum",
|
|
19
|
-
outputs: [
|
|
20
|
-
{
|
|
21
|
-
internalType: "uint256",
|
|
22
|
-
name: "",
|
|
23
|
-
type: "uint256",
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
stateMutability: "view",
|
|
27
|
-
type: "function",
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
inputs: [],
|
|
31
|
-
name: "num",
|
|
32
|
-
outputs: [
|
|
33
|
-
{
|
|
34
|
-
internalType: "uint256",
|
|
35
|
-
name: "",
|
|
36
|
-
type: "uint256",
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
stateMutability: "view",
|
|
40
|
-
type: "function",
|
|
41
|
-
},
|
|
42
|
-
];
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { defineChain } from "viem";
|
|
2
|
-
import { createDagAAClient, parseDAG } from "./main";
|
|
3
|
-
import { abi } from "./contract";
|
|
4
|
-
import { config as dotenvConfig } from "dotenv";
|
|
5
|
-
dotenvConfig();
|
|
6
|
-
// ==============================================================================
|
|
7
|
-
// Configuration
|
|
8
|
-
// ==============================================================================
|
|
9
|
-
const awakening = defineChain({
|
|
10
|
-
id: 1043,
|
|
11
|
-
name: "Awakening Testnet",
|
|
12
|
-
nativeCurrency: { decimals: 18, name: "Dag", symbol: "DAG" },
|
|
13
|
-
rpcUrls: { default: { http: ["https://relay.awakening.bdagscan.com"] } },
|
|
14
|
-
blockExplorers: {
|
|
15
|
-
default: { name: "Explorer", url: "https://awakening.bdagscan.com/" },
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
// Your contract ABI
|
|
19
|
-
const counterAbi = [
|
|
20
|
-
{
|
|
21
|
-
name: "increment",
|
|
22
|
-
type: "function",
|
|
23
|
-
stateMutability: "nonpayable",
|
|
24
|
-
inputs: [],
|
|
25
|
-
outputs: [],
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "counter",
|
|
29
|
-
type: "function",
|
|
30
|
-
stateMutability: "view",
|
|
31
|
-
inputs: [],
|
|
32
|
-
outputs: [{ name: "", type: "uint256" }],
|
|
33
|
-
},
|
|
34
|
-
];
|
|
35
|
-
// ==============================================================================
|
|
36
|
-
// Example 1: Basic Usage
|
|
37
|
-
// ==============================================================================
|
|
38
|
-
const PRIVATE_KEY_1 = process.env.PRIVATE_KEY_2;
|
|
39
|
-
async function basicExample() {
|
|
40
|
-
console.log("\nš¦ Example 1: Basic Usage");
|
|
41
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
42
|
-
// Create the client
|
|
43
|
-
const client = createDagAAClient({
|
|
44
|
-
chain: awakening,
|
|
45
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
46
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
47
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
48
|
-
});
|
|
49
|
-
// Connect to your existing smart account
|
|
50
|
-
await client.connectSmartAccount({
|
|
51
|
-
owner: PRIVATE_KEY_1,
|
|
52
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
53
|
-
});
|
|
54
|
-
// Get account info
|
|
55
|
-
const address = client.getAddress();
|
|
56
|
-
const balance = await client.getBalance();
|
|
57
|
-
const isDeployed = await client.isDeployed();
|
|
58
|
-
const nonce = await client.getNonce();
|
|
59
|
-
console.log(`Address: ${address}`);
|
|
60
|
-
console.log(`Balance: ${Number(balance) / 1e18} DAG`);
|
|
61
|
-
console.log(`Deployed: ${isDeployed ? "Yes" : "No"}`);
|
|
62
|
-
console.log(`Nonce: ${nonce}`);
|
|
63
|
-
}
|
|
64
|
-
// ==============================================================================
|
|
65
|
-
// Example 2: Send Simple Transfer
|
|
66
|
-
// ==============================================================================
|
|
67
|
-
async function transferExample() {
|
|
68
|
-
console.log("\nšø Example 2: Send Transfer");
|
|
69
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
70
|
-
const client = createDagAAClient({
|
|
71
|
-
chain: awakening,
|
|
72
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
73
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
74
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
75
|
-
});
|
|
76
|
-
await client.connectSmartAccount({
|
|
77
|
-
owner: PRIVATE_KEY_1,
|
|
78
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
79
|
-
});
|
|
80
|
-
// Send 0.01 DAG to an address
|
|
81
|
-
const txHash = await client.sendUserOperation({
|
|
82
|
-
target: "0x1749be926ef79a63a285b01263f7ddc350d435e6",
|
|
83
|
-
value: parseDAG("1"), // 0.01 DAG
|
|
84
|
-
maxFeePerGas: 50000000000n,
|
|
85
|
-
maxPriorityFeePerGas: 50000000000n,
|
|
86
|
-
});
|
|
87
|
-
console.log(`Transaction: ${txHash}`);
|
|
88
|
-
}
|
|
89
|
-
// ==============================================================================
|
|
90
|
-
// Example 3: Call Smart Contract (Write)
|
|
91
|
-
// ==============================================================================
|
|
92
|
-
async function contractWriteExample() {
|
|
93
|
-
console.log("\nš Example 3: Contract Write");
|
|
94
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
95
|
-
const client = createDagAAClient({
|
|
96
|
-
chain: awakening,
|
|
97
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
98
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
99
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
100
|
-
});
|
|
101
|
-
await client.connectSmartAccount({
|
|
102
|
-
owner: PRIVATE_KEY_1,
|
|
103
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
104
|
-
});
|
|
105
|
-
// Call increment() on counter contract
|
|
106
|
-
const txHash = await client.writeContract({
|
|
107
|
-
address: "0x692e69cA1Fe89eF72ca94B0E3a32A92835501a08",
|
|
108
|
-
abi,
|
|
109
|
-
functionName: "increment",
|
|
110
|
-
maxFeePerGas: 50000000000n,
|
|
111
|
-
maxPriorityFeePerGas: 50000000000n,
|
|
112
|
-
});
|
|
113
|
-
console.log(`Transaction: ${txHash}`);
|
|
114
|
-
console.log(`https://awakening.bdagscan.com/tx/${txHash}`);
|
|
115
|
-
}
|
|
116
|
-
// ==============================================================================
|
|
117
|
-
// Example 4: Read Contract Data
|
|
118
|
-
// ==============================================================================
|
|
119
|
-
async function contractReadExample() {
|
|
120
|
-
console.log("\nš Example 4: Contract Read");
|
|
121
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
122
|
-
const client = createDagAAClient({
|
|
123
|
-
chain: awakening,
|
|
124
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
125
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
126
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
127
|
-
});
|
|
128
|
-
await client.connectSmartAccount({
|
|
129
|
-
owner: PRIVATE_KEY_1,
|
|
130
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
131
|
-
});
|
|
132
|
-
// Read counter value
|
|
133
|
-
const counterValue = await client.readContract({
|
|
134
|
-
address: "0x692e69cA1Fe89eF72ca94B0E3a32A92835501a08",
|
|
135
|
-
abi,
|
|
136
|
-
functionName: "getNum",
|
|
137
|
-
});
|
|
138
|
-
console.log(`Counter value: ${counterValue}`);
|
|
139
|
-
}
|
|
140
|
-
// ==============================================================================
|
|
141
|
-
// Example 5: Batch Operations
|
|
142
|
-
// ==============================================================================
|
|
143
|
-
async function batchExample() {
|
|
144
|
-
console.log("\nš¦ Example 5: Batch Operations");
|
|
145
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
146
|
-
const client = createDagAAClient({
|
|
147
|
-
chain: awakening,
|
|
148
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
149
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
150
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
151
|
-
});
|
|
152
|
-
await client.connectSmartAccount({
|
|
153
|
-
owner: PRIVATE_KEY_1,
|
|
154
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
155
|
-
});
|
|
156
|
-
// Send multiple operations
|
|
157
|
-
const hashes = await client.sendBatchUserOperations([
|
|
158
|
-
{
|
|
159
|
-
target: "0x1749be926ef79a63a285b01263f7ddc350d435e6",
|
|
160
|
-
value: parseDAG("0.5"),
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
target: "0x8371e519177f81b93287f750dcd06ce894c12cc5",
|
|
164
|
-
value: parseDAG("0.5"),
|
|
165
|
-
},
|
|
166
|
-
]);
|
|
167
|
-
console.log(`Sent ${hashes.length} operations`);
|
|
168
|
-
hashes.forEach((hash, i) => {
|
|
169
|
-
console.log(` ${i + 1}. ${hash}`);
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
// ==============================================================================
|
|
173
|
-
// Example 6: Fund Account
|
|
174
|
-
// ==============================================================================
|
|
175
|
-
async function fundingExample() {
|
|
176
|
-
console.log("\nš° Example 6: Fund Account");
|
|
177
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
178
|
-
const client = createDagAAClient({
|
|
179
|
-
chain: awakening,
|
|
180
|
-
rpcUrl: "https://relay.awakening.bdagscan.com",
|
|
181
|
-
bundlerUrl: "http://0.0.0.0:3000",
|
|
182
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
183
|
-
});
|
|
184
|
-
await client.connectSmartAccount({
|
|
185
|
-
owner: PRIVATE_KEY_1,
|
|
186
|
-
accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
187
|
-
});
|
|
188
|
-
// Fund from EOA
|
|
189
|
-
const txHash = await client.fundAccount(parseDAG("1"), // 1 DAG
|
|
190
|
-
"0x5810098e367422376897bb2645c5ada5850a99aeec0505a58d38853ebd7f9f31" // From this private key
|
|
191
|
-
);
|
|
192
|
-
console.log(`Funded: ${txHash}`);
|
|
193
|
-
}
|
|
194
|
-
// ==============================================================================
|
|
195
|
-
// Run Examples
|
|
196
|
-
// ==============================================================================
|
|
197
|
-
async function main() {
|
|
198
|
-
try {
|
|
199
|
-
// Run the example you want
|
|
200
|
-
// await basicExample();
|
|
201
|
-
// await transferExample();
|
|
202
|
-
// await contractWriteExample();
|
|
203
|
-
await contractReadExample();
|
|
204
|
-
// await batchExample();
|
|
205
|
-
// await fundingExample();
|
|
206
|
-
}
|
|
207
|
-
catch (error) {
|
|
208
|
-
console.error("Error:", error);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
main();
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { awakening } from "../chains";
|
|
2
|
-
import { createDagAAClient, parseDAG } from "./main";
|
|
3
|
-
import { generatePrivateKey } from "viem/accounts";
|
|
4
|
-
import { config as dotenvConfig } from "dotenv";
|
|
5
|
-
dotenvConfig();
|
|
6
|
-
const PRIVATE_KEY_2 = process.env.PRIVATE_KEY_1;
|
|
7
|
-
const ownerPrivy = generatePrivateKey();
|
|
8
|
-
(async () => {
|
|
9
|
-
console.log("Sending Simple Transaction");
|
|
10
|
-
const client = createDagAAClient({
|
|
11
|
-
chain: awakening.chain_config,
|
|
12
|
-
rpcUrl: "https://rpc.awakening.bdagscan.com",
|
|
13
|
-
bundlerUrl: awakening.bundler_rpc,
|
|
14
|
-
factoryAddress: "0x8FaB6DF00085eb05D5F2C1FA46a6E539587ae3f3",
|
|
15
|
-
paymasterUrl: "http://localhost:3001/rpc",
|
|
16
|
-
});
|
|
17
|
-
await client.connectSmartAccount({
|
|
18
|
-
owner: "0x6b0f66a03b67d7b9eaa6c31123ffe5bf2ee58eb40ab86c8a14d6f1294838b0c8",
|
|
19
|
-
// accountAddress: "0xDe10aaC59f659fA154C063153AB3f7Cca1fb23A5",
|
|
20
|
-
});
|
|
21
|
-
// Send 0.01 DAG to an address
|
|
22
|
-
const txHash = await client.sendUserOperation({
|
|
23
|
-
target: "0x1749be926ef79a63a285b01263f7ddc350d435e6",
|
|
24
|
-
value: parseDAG("0"), // 0.01 DAG
|
|
25
|
-
maxFeePerGas: 50000000000n,
|
|
26
|
-
maxPriorityFeePerGas: 50000000000n,
|
|
27
|
-
});
|
|
28
|
-
console.log(`Transaction: ${txHash}`);
|
|
29
|
-
console.log("\nš¦ Example : Batch Operations");
|
|
30
|
-
console.log("āāāāāāāāāāāāāāāāāāāāāāāāāāā\n");
|
|
31
|
-
// await client.connectSmartAccount({
|
|
32
|
-
// owner: PRIVATE_KEY_2,
|
|
33
|
-
// accountAddress: "0x7fd5385efcB7B2898933288948a9496CDc0fA8ee",
|
|
34
|
-
// });
|
|
35
|
-
// // Send multiple operations
|
|
36
|
-
// const hashes = await client.sendBatchUserOperations([
|
|
37
|
-
// {
|
|
38
|
-
// target: "0x1749be926ef79a63a285b01263f7ddc350d435e6",
|
|
39
|
-
// value: parseDAG("0.5"),
|
|
40
|
-
// },
|
|
41
|
-
// {
|
|
42
|
-
// target: "0x8371e519177f81b93287f750dcd06ce894c12cc5",
|
|
43
|
-
// value: parseDAG("0.5"),
|
|
44
|
-
// },
|
|
45
|
-
// ]);
|
|
46
|
-
// console.log(`Sent ${hashes.length} operations`);
|
|
47
|
-
// hashes.forEach((hash, i) => {
|
|
48
|
-
// console.log(` ${i + 1}. ${hash}`);
|
|
49
|
-
// });
|
|
50
|
-
})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|