@aastar/sdk 0.24.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/UserClient-5PQP6APK.js +6 -0
  2. package/dist/{UserClient-KYDCMAIU.js.map → UserClient-5PQP6APK.js.map} +1 -1
  3. package/dist/UserClient-CD7R3335.cjs +15 -0
  4. package/dist/{UserClient-S6LS3CB6.cjs.map → UserClient-CD7R3335.cjs.map} +1 -1
  5. package/dist/account.cjs +8 -8
  6. package/dist/account.js +3 -3
  7. package/dist/addresses-D12T3kLs.d.cts +210 -0
  8. package/dist/addresses-D12T3kLs.d.ts +210 -0
  9. package/dist/admin.cjs +4 -4
  10. package/dist/admin.js +3 -3
  11. package/dist/airaccount.cjs +111 -103
  12. package/dist/airaccount.d.cts +1 -1
  13. package/dist/airaccount.d.ts +1 -1
  14. package/dist/airaccount.js +3 -3
  15. package/dist/channel.cjs +7 -7
  16. package/dist/channel.js +3 -3
  17. package/dist/{chunk-72JZKARR.cjs → chunk-2RHBOBL7.cjs} +6 -6
  18. package/dist/{chunk-72JZKARR.cjs.map → chunk-2RHBOBL7.cjs.map} +1 -1
  19. package/dist/{chunk-BYVG7MO7.js → chunk-6DZCDV4Q.js} +2137 -13
  20. package/dist/chunk-6DZCDV4Q.js.map +1 -0
  21. package/dist/{chunk-VEAYV52I.cjs → chunk-6IZASQSB.cjs} +236 -109
  22. package/dist/chunk-6IZASQSB.cjs.map +1 -0
  23. package/dist/{chunk-NVYVTCHJ.cjs → chunk-7HTUDNH3.cjs} +11 -11
  24. package/dist/{chunk-NVYVTCHJ.cjs.map → chunk-7HTUDNH3.cjs.map} +1 -1
  25. package/dist/{chunk-PNBK2CLK.js → chunk-7JVL5CU3.js} +3 -3
  26. package/dist/{chunk-PNBK2CLK.js.map → chunk-7JVL5CU3.js.map} +1 -1
  27. package/dist/{chunk-654GQ7G7.js → chunk-A4FO6FKN.js} +3 -3
  28. package/dist/{chunk-654GQ7G7.js.map → chunk-A4FO6FKN.js.map} +1 -1
  29. package/dist/{chunk-A4ICWCHR.cjs → chunk-CI4UJW5Y.cjs} +5 -5
  30. package/dist/{chunk-A4ICWCHR.cjs.map → chunk-CI4UJW5Y.cjs.map} +1 -1
  31. package/dist/{chunk-RZ2M2RVP.js → chunk-COTHBCR2.js} +3 -3
  32. package/dist/{chunk-RZ2M2RVP.js.map → chunk-COTHBCR2.js.map} +1 -1
  33. package/dist/{chunk-2UC7UPHV.js → chunk-D2RDBN46.js} +227 -102
  34. package/dist/chunk-D2RDBN46.js.map +1 -0
  35. package/dist/{chunk-WVOJV4Q5.cjs → chunk-FIMXPANS.cjs} +4 -4
  36. package/dist/{chunk-WVOJV4Q5.cjs.map → chunk-FIMXPANS.cjs.map} +1 -1
  37. package/dist/{chunk-MXJEULSE.cjs → chunk-G33MXEHU.cjs} +29 -2
  38. package/dist/chunk-G33MXEHU.cjs.map +1 -0
  39. package/dist/{chunk-D667CUUS.cjs → chunk-GASCTLKR.cjs} +9 -9
  40. package/dist/{chunk-D667CUUS.cjs.map → chunk-GASCTLKR.cjs.map} +1 -1
  41. package/dist/{chunk-PXQDAFXD.js → chunk-IG4BG25C.js} +6 -6
  42. package/dist/{chunk-PXQDAFXD.js.map → chunk-IG4BG25C.js.map} +1 -1
  43. package/dist/{chunk-5PH5CSM7.cjs → chunk-J3UAXGNP.cjs} +16 -16
  44. package/dist/{chunk-5PH5CSM7.cjs.map → chunk-J3UAXGNP.cjs.map} +1 -1
  45. package/dist/{chunk-WC25H5VG.js → chunk-JCEUTCFZ.js} +4 -4
  46. package/dist/{chunk-WC25H5VG.js.map → chunk-JCEUTCFZ.js.map} +1 -1
  47. package/dist/{chunk-MOJJ7QF6.cjs → chunk-KOWTQJIX.cjs} +2177 -49
  48. package/dist/chunk-KOWTQJIX.cjs.map +1 -0
  49. package/dist/chunk-L6D2AGTF.js +500 -0
  50. package/dist/chunk-L6D2AGTF.js.map +1 -0
  51. package/dist/{chunk-VHY6R2PI.cjs → chunk-LRPAX5AG.cjs} +32 -32
  52. package/dist/{chunk-VHY6R2PI.cjs.map → chunk-LRPAX5AG.cjs.map} +1 -1
  53. package/dist/{chunk-UCLK6LTB.js → chunk-MBWBHKUE.js} +28 -3
  54. package/dist/chunk-MBWBHKUE.js.map +1 -0
  55. package/dist/{chunk-BOVDJSMK.cjs → chunk-NHDZQPDE.cjs} +26 -26
  56. package/dist/{chunk-BOVDJSMK.cjs.map → chunk-NHDZQPDE.cjs.map} +1 -1
  57. package/dist/{chunk-HNJBQR5U.cjs → chunk-OBPTMV5W.cjs} +5 -5
  58. package/dist/{chunk-HNJBQR5U.cjs.map → chunk-OBPTMV5W.cjs.map} +1 -1
  59. package/dist/{chunk-JMW5AHLC.js → chunk-QTXPAGNX.js} +9 -9
  60. package/dist/{chunk-JMW5AHLC.js.map → chunk-QTXPAGNX.js.map} +1 -1
  61. package/dist/{chunk-WVJ4LQVB.js → chunk-UANSP3OK.js} +3 -3
  62. package/dist/{chunk-WVJ4LQVB.js.map → chunk-UANSP3OK.js.map} +1 -1
  63. package/dist/{chunk-DAMWXGKD.js → chunk-UTSFTWFC.js} +3 -3
  64. package/dist/{chunk-DAMWXGKD.js.map → chunk-UTSFTWFC.js.map} +1 -1
  65. package/dist/chunk-WTURYJEA.cjs +504 -0
  66. package/dist/chunk-WTURYJEA.cjs.map +1 -0
  67. package/dist/{chunk-LDARLWS3.js → chunk-YR7CTWY6.js} +3 -3
  68. package/dist/{chunk-LDARLWS3.js.map → chunk-YR7CTWY6.js.map} +1 -1
  69. package/dist/{contract-addresses-RABD77VP.cjs → contract-addresses-6K6IB5OB.cjs} +13 -13
  70. package/dist/{contract-addresses-RABD77VP.cjs.map → contract-addresses-6K6IB5OB.cjs.map} +1 -1
  71. package/dist/{contract-addresses-TVXSRQ7I.js → contract-addresses-CHZ7PK5H.js} +3 -3
  72. package/dist/{contract-addresses-TVXSRQ7I.js.map → contract-addresses-CHZ7PK5H.js.map} +1 -1
  73. package/dist/core.cjs +285 -261
  74. package/dist/core.d.cts +6 -175
  75. package/dist/core.d.ts +6 -175
  76. package/dist/core.js +2 -2
  77. package/dist/dapp.cjs +6 -6
  78. package/dist/dapp.js +3 -3
  79. package/dist/email.cjs +91 -0
  80. package/dist/email.cjs.map +1 -0
  81. package/dist/email.d.cts +115 -0
  82. package/dist/email.d.ts +115 -0
  83. package/dist/email.js +88 -0
  84. package/dist/email.js.map +1 -0
  85. package/dist/enduser.cjs +7 -7
  86. package/dist/enduser.js +4 -4
  87. package/dist/identity.cjs +6 -6
  88. package/dist/identity.js +3 -3
  89. package/dist/index.cjs +406 -374
  90. package/dist/index.d.cts +3 -2
  91. package/dist/index.d.ts +3 -2
  92. package/dist/index.js +17 -17
  93. package/dist/kms.cjs +111 -103
  94. package/dist/kms.d.cts +199 -19
  95. package/dist/kms.d.ts +199 -19
  96. package/dist/kms.js +3 -3
  97. package/dist/operator.cjs +7 -7
  98. package/dist/operator.js +3 -3
  99. package/dist/paymaster.cjs +16 -16
  100. package/dist/paymaster.js +3 -3
  101. package/dist/{src-N72HAQXS.cjs → src-DNURNUIA.cjs} +287 -263
  102. package/dist/src-DNURNUIA.cjs.map +1 -0
  103. package/dist/{src-72GWEAPA.cjs → src-DZDH3BSU.cjs} +18 -18
  104. package/dist/src-DZDH3BSU.cjs.map +1 -0
  105. package/dist/{src-UNS5B7FX.js → src-EVM7OESP.js} +5 -5
  106. package/dist/src-EVM7OESP.js.map +1 -0
  107. package/dist/src-FY3KAPPC.js +5 -0
  108. package/dist/src-FY3KAPPC.js.map +1 -0
  109. package/dist/tokens.cjs +12 -4
  110. package/dist/tokens.d.cts +133 -1
  111. package/dist/tokens.d.ts +133 -1
  112. package/dist/tokens.js +3 -3
  113. package/dist/x402.cjs +26 -26
  114. package/dist/x402.js +3 -3
  115. package/package.json +17 -2
  116. package/dist/UserClient-KYDCMAIU.js +0 -6
  117. package/dist/UserClient-S6LS3CB6.cjs +0 -15
  118. package/dist/chunk-2UC7UPHV.js.map +0 -1
  119. package/dist/chunk-7RVONA2R.js +0 -226
  120. package/dist/chunk-7RVONA2R.js.map +0 -1
  121. package/dist/chunk-BYVG7MO7.js.map +0 -1
  122. package/dist/chunk-GDH4DSVM.cjs +0 -228
  123. package/dist/chunk-GDH4DSVM.cjs.map +0 -1
  124. package/dist/chunk-MOJJ7QF6.cjs.map +0 -1
  125. package/dist/chunk-MXJEULSE.cjs.map +0 -1
  126. package/dist/chunk-UCLK6LTB.js.map +0 -1
  127. package/dist/chunk-VEAYV52I.cjs.map +0 -1
  128. package/dist/src-5URXSFKD.js +0 -5
  129. package/dist/src-5URXSFKD.js.map +0 -1
  130. package/dist/src-72GWEAPA.cjs.map +0 -1
  131. package/dist/src-N72HAQXS.cjs.map +0 -1
  132. package/dist/src-UNS5B7FX.js.map +0 -1
@@ -1,226 +0,0 @@
1
- import { SuperPaymasterABI } from './chunk-BYVG7MO7.js';
2
- import { parseAbi, formatEther } from 'viem';
3
-
4
- var STAKING_ABI = parseAbi([
5
- "function stake(uint256)",
6
- "function withdraw(uint256)"
7
- ]);
8
- var ERC20_ABI = parseAbi([
9
- "function balanceOf(address) view returns (uint256)",
10
- "function totalSupply() view returns (uint256)",
11
- "function approve(address,uint256) returns (bool)",
12
- "function transfer(address,uint256) returns (bool)"
13
- ]);
14
- var FinanceClient = class _FinanceClient {
15
- /**
16
- * Initialize FinanceClient
17
- * @param publicClient The public client for queries
18
- * @param walletClient The wallet client for transactions
19
- */
20
- constructor(publicClient, walletClient) {
21
- this.publicClient = publicClient;
22
- this.walletClient = walletClient;
23
- }
24
- // ========== Existing static methods (preserved for backward compatibility) ==========
25
- /** @deprecated Use instance methods instead */
26
- static async depositToPaymaster(wallet, paymaster, amount) {
27
- return wallet.writeContract({
28
- address: paymaster,
29
- abi: SuperPaymasterABI,
30
- functionName: "deposit",
31
- args: [amount],
32
- chain: wallet.chain
33
- });
34
- }
35
- /** @deprecated Use instance methods instead */
36
- static async depositViaTransferAndCall(wallet, token, paymaster, amount) {
37
- const ERC1363_ABI = [{
38
- name: "transferAndCall",
39
- type: "function",
40
- stateMutability: "nonpayable",
41
- inputs: [{ type: "address", name: "to" }, { type: "uint256", name: "value" }],
42
- outputs: [{ type: "bool" }]
43
- }];
44
- return wallet.writeContract({
45
- address: token,
46
- abi: ERC1363_ABI,
47
- functionName: "transferAndCall",
48
- args: [paymaster, amount],
49
- chain: wallet.chain
50
- });
51
- }
52
- /** @deprecated Use instance methods instead */
53
- static async stakeGToken(wallet, stakingAddr, amount) {
54
- return wallet.writeContract({
55
- address: stakingAddr,
56
- abi: STAKING_ABI,
57
- functionName: "stake",
58
- args: [amount],
59
- chain: wallet.chain
60
- });
61
- }
62
- /** @deprecated Use instance methods instead */
63
- static async withdrawProtocolRevenue(wallet, paymaster, to, amount) {
64
- return wallet.writeContract({
65
- address: paymaster,
66
- abi: SuperPaymasterABI,
67
- functionName: "withdrawProtocolRevenue",
68
- args: [to, amount],
69
- chain: wallet.chain
70
- });
71
- }
72
- /** @deprecated Use instance methods instead */
73
- static async depositToEntryPoint(wallet, entryPoint, paymaster, amount) {
74
- return wallet.writeContract({
75
- address: entryPoint,
76
- abi: parseAbi(["function depositTo(address) payable"]),
77
- functionName: "depositTo",
78
- args: [paymaster],
79
- value: amount,
80
- chain: wallet.chain
81
- });
82
- }
83
- /** @deprecated Use instance methods instead */
84
- static async getEntryPointBalance(client, entryPoint, account) {
85
- return client.readContract({
86
- address: entryPoint,
87
- abi: parseAbi(["function balanceOf(address) view returns (uint256)"]),
88
- functionName: "balanceOf",
89
- args: [account]
90
- });
91
- }
92
- /** @deprecated Use instance methods instead */
93
- static async operatorDeposit(wallet, paymaster, amount) {
94
- return wallet.writeContract({
95
- address: paymaster,
96
- abi: SuperPaymasterABI,
97
- functionName: "deposit",
98
- args: [amount],
99
- chain: wallet.chain
100
- });
101
- }
102
- /** @deprecated Use instance methods instead */
103
- static async operatorNotifyDeposit(wallet, paymaster, amount) {
104
- return wallet.writeContract({
105
- address: paymaster,
106
- abi: SuperPaymasterABI,
107
- functionName: "notifyDeposit",
108
- args: [amount],
109
- chain: wallet.chain
110
- });
111
- }
112
- // ========== New instance methods (business primitives) ==========
113
- /**
114
- * Get GToken balance
115
- */
116
- async getGTokenBalance(address) {
117
- const { CORE_ADDRESSES } = await import('./src-5URXSFKD.js');
118
- return this.publicClient.readContract({
119
- address: CORE_ADDRESSES.gToken,
120
- abi: ERC20_ABI,
121
- functionName: "balanceOf",
122
- args: [address]
123
- });
124
- }
125
- /**
126
- * Get aPNTs balance
127
- */
128
- async getAPNTsBalance(address) {
129
- const { CORE_ADDRESSES } = await import('./src-5URXSFKD.js');
130
- return this.publicClient.readContract({
131
- address: CORE_ADDRESSES.aPNTs,
132
- abi: ERC20_ABI,
133
- functionName: "balanceOf",
134
- args: [address]
135
- });
136
- }
137
- /**
138
- * One-step stake: Approve (if needed) + Stake
139
- *
140
- * @param amount Amount of GToken to stake
141
- * @returns Transaction hash of the stake action
142
- */
143
- async approveAndStake(amount) {
144
- const account = this.walletClient.account;
145
- if (!account) throw new Error("Account required");
146
- const { CORE_ADDRESSES } = await import('./src-5URXSFKD.js');
147
- const gTokenAddress = CORE_ADDRESSES.gToken;
148
- const stakingAddress = CORE_ADDRESSES.gTokenStaking;
149
- const allowance = await this.publicClient.readContract({
150
- address: gTokenAddress,
151
- abi: parseAbi(["function allowance(address owner, address spender) view returns (uint256)"]),
152
- functionName: "allowance",
153
- args: [account.address, stakingAddress]
154
- });
155
- if (allowance < amount) {
156
- console.log(`[FinanceClient] Approving ${formatEther(amount)} GToken...`);
157
- const approveTx = await this.walletClient.writeContract({
158
- address: gTokenAddress,
159
- abi: parseAbi(["function approve(address spender, uint256 amount) returns (bool)"]),
160
- functionName: "approve",
161
- args: [stakingAddress, amount],
162
- chain: this.walletClient.chain,
163
- account
164
- });
165
- await this.publicClient.waitForTransactionReceipt({ hash: approveTx });
166
- console.log(`[FinanceClient] Approved.`);
167
- }
168
- console.log(`[FinanceClient] Staking...`);
169
- return _FinanceClient.stakeGToken(this.walletClient, stakingAddress, amount);
170
- }
171
- /**
172
- * Get circulating supply (total - locked)
173
- */
174
- async getCirculatingSupply() {
175
- const { CORE_ADDRESSES } = await import('./src-5URXSFKD.js');
176
- const gTokenAddress = CORE_ADDRESSES.gToken;
177
- const total = await this.publicClient.readContract({
178
- address: gTokenAddress,
179
- abi: ERC20_ABI,
180
- functionName: "totalSupply"
181
- });
182
- const locked = 0n;
183
- return {
184
- total,
185
- locked,
186
- circulating: total - locked
187
- };
188
- }
189
- /**
190
- * Get comprehensive tokenomics data
191
- */
192
- async getTokenomicsOverview() {
193
- const { CORE_ADDRESSES } = await import('./src-5URXSFKD.js');
194
- const [totalSupply, totalStaked, blackholeBalance] = await Promise.all([
195
- this.publicClient.readContract({
196
- address: CORE_ADDRESSES.gToken,
197
- abi: parseAbi(["function totalSupply() view returns (uint256)"]),
198
- functionName: "totalSupply"
199
- }),
200
- this.publicClient.readContract({
201
- address: CORE_ADDRESSES.gTokenStaking,
202
- abi: parseAbi(["function totalStaked() view returns (uint256)"]),
203
- functionName: "totalStaked"
204
- }),
205
- this.publicClient.readContract({
206
- address: CORE_ADDRESSES.gToken,
207
- abi: parseAbi(["function balanceOf(address) view returns (uint256)"]),
208
- functionName: "balanceOf",
209
- args: ["0x000000000000000000000000000000000000dEaD"]
210
- })
211
- ]);
212
- const circulating = totalSupply - totalStaked - blackholeBalance;
213
- const ratio = Number(formatEther(totalStaked)) / Number(formatEther(totalSupply)) * 100;
214
- return {
215
- totalSupply,
216
- totalStaked,
217
- totalBurned: blackholeBalance,
218
- circulatingSupply: circulating,
219
- stakingRatio: ratio
220
- };
221
- }
222
- };
223
-
224
- export { FinanceClient };
225
- //# sourceMappingURL=chunk-7RVONA2R.js.map
226
- //# sourceMappingURL=chunk-7RVONA2R.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../tokens/src/index.ts"],"names":[],"mappings":"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","file":"chunk-7RVONA2R.js","sourcesContent":["import { type Address, parseAbi, type Hash, formatEther } from 'viem';\nimport { SuperPaymasterABI as SUPERPAYMASTER_ABI, CONTRACTS, type PublicClient, type WalletClient } from '@aastar/core';\n\nconst STAKING_ABI = parseAbi([\n 'function stake(uint256)',\n 'function withdraw(uint256)'\n]);\n\nconst ERC20_ABI = parseAbi([\n 'function balanceOf(address) view returns (uint256)',\n 'function totalSupply() view returns (uint256)',\n 'function approve(address,uint256) returns (bool)',\n 'function transfer(address,uint256) returns (bool)'\n]);\n\nexport class FinanceClient {\n /**\n * Initialize FinanceClient\n * @param publicClient The public client for queries\n * @param walletClient The wallet client for transactions\n */\n constructor(\n private publicClient: PublicClient,\n private walletClient: WalletClient\n ) {}\n\n // ========== Existing static methods (preserved for backward compatibility) ==========\n \n /** @deprecated Use instance methods instead */\n static async depositToPaymaster(wallet: WalletClient, paymaster: Address, amount: bigint) {\n return wallet.writeContract({\n address: paymaster,\n abi: SUPERPAYMASTER_ABI,\n functionName: 'deposit',\n args: [amount],\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async depositViaTransferAndCall(wallet: WalletClient, token: Address, paymaster: Address, amount: bigint) {\n const ERC1363_ABI = [{\n name: 'transferAndCall',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ type: 'address', name: 'to' }, { type: 'uint256', name: 'value' }],\n outputs: [{ type: 'bool' }]\n }] as const;\n\n return wallet.writeContract({\n address: token,\n abi: ERC1363_ABI,\n functionName: 'transferAndCall',\n args: [paymaster, amount],\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async stakeGToken(wallet: WalletClient, stakingAddr: Address, amount: bigint) {\n return wallet.writeContract({\n address: stakingAddr,\n abi: STAKING_ABI,\n functionName: 'stake',\n args: [amount],\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async withdrawProtocolRevenue(wallet: WalletClient, paymaster: Address, to: Address, amount: bigint) {\n return wallet.writeContract({\n address: paymaster,\n abi: SUPERPAYMASTER_ABI,\n functionName: 'withdrawProtocolRevenue',\n args: [to, amount],\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async depositToEntryPoint(wallet: WalletClient, entryPoint: Address, paymaster: Address, amount: bigint) {\n return wallet.writeContract({\n address: entryPoint,\n abi: parseAbi(['function depositTo(address) payable']),\n functionName: 'depositTo',\n args: [paymaster],\n value: amount,\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async getEntryPointBalance(client: any, entryPoint: Address, account: Address): Promise<bigint> {\n return client.readContract({\n address: entryPoint,\n abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n functionName: 'balanceOf',\n args: [account]\n });\n }\n\n /** @deprecated Use instance methods instead */\n static async operatorDeposit(wallet: WalletClient, paymaster: Address, amount: bigint) {\n return wallet.writeContract({\n address: paymaster,\n abi: SUPERPAYMASTER_ABI,\n functionName: 'deposit',\n args: [amount],\n chain: wallet.chain\n } as any);\n }\n\n /** @deprecated Use instance methods instead */\n static async operatorNotifyDeposit(wallet: WalletClient, paymaster: Address, amount: bigint) {\n return wallet.writeContract({\n address: paymaster,\n abi: SUPERPAYMASTER_ABI,\n functionName: 'notifyDeposit',\n args: [amount],\n chain: wallet.chain\n } as any);\n }\n\n // ========== New instance methods (business primitives) ==========\n\n /**\n * Get GToken balance\n */\n async getGTokenBalance(address: Address): Promise<bigint> {\n const { CORE_ADDRESSES } = await import('@aastar/core');\n return this.publicClient.readContract({\n address: CORE_ADDRESSES.gToken,\n abi: ERC20_ABI,\n functionName: 'balanceOf',\n args: [address]\n }) as Promise<bigint>;\n }\n\n /**\n * Get aPNTs balance\n */\n async getAPNTsBalance(address: Address): Promise<bigint> {\n const { CORE_ADDRESSES } = await import('@aastar/core');\n return this.publicClient.readContract({\n address: CORE_ADDRESSES.aPNTs,\n abi: ERC20_ABI,\n functionName: 'balanceOf',\n args: [address]\n }) as Promise<bigint>;\n }\n\n /**\n * One-step stake: Approve (if needed) + Stake\n * \n * @param amount Amount of GToken to stake\n * @returns Transaction hash of the stake action\n */\n async approveAndStake(amount: bigint): Promise<Hash> {\n const account = this.walletClient.account;\n if (!account) throw new Error(\"Account required\");\n\n const { CORE_ADDRESSES } = await import('@aastar/core');\n const gTokenAddress = CORE_ADDRESSES.gToken;\n const stakingAddress = CORE_ADDRESSES.gTokenStaking;\n \n // 1. Check Allowance\n const allowance = await this.publicClient.readContract({\n address: gTokenAddress,\n abi: parseAbi(['function allowance(address owner, address spender) view returns (uint256)']),\n functionName: 'allowance',\n args: [account.address, stakingAddress]\n }); // as bigint\n\n if ((allowance as bigint) < amount) {\n console.log(`[FinanceClient] Approving ${formatEther(amount)} GToken...`);\n const approveTx = await this.walletClient.writeContract({\n address: gTokenAddress,\n abi: parseAbi(['function approve(address spender, uint256 amount) returns (bool)']),\n functionName: 'approve',\n args: [stakingAddress, amount],\n chain: this.walletClient.chain,\n account\n });\n await this.publicClient.waitForTransactionReceipt({ hash: approveTx });\n console.log(`[FinanceClient] Approved.`);\n }\n\n // 2. Stake\n console.log(`[FinanceClient] Staking...`);\n return FinanceClient.stakeGToken(this.walletClient, stakingAddress, amount);\n }\n\n /**\n * Get circulating supply (total - locked)\n */\n async getCirculatingSupply(): Promise<{\n total: bigint;\n locked: bigint;\n circulating: bigint;\n }> {\n const { CORE_ADDRESSES } = await import('@aastar/core');\n const gTokenAddress = CORE_ADDRESSES.gToken;\n\n const total = await this.publicClient.readContract({\n address: gTokenAddress,\n abi: ERC20_ABI,\n functionName: 'totalSupply'\n }) as bigint;\n\n // In a real scenario, we might query GTokenStaking's totalStaked\n const locked = 0n;\n\n return {\n total,\n locked,\n circulating: total - locked\n };\n }\n\n /**\n * Get comprehensive tokenomics data\n */\n async getTokenomicsOverview(): Promise<{\n totalSupply: bigint;\n totalStaked: bigint;\n totalBurned: bigint;\n circulatingSupply: bigint;\n stakingRatio: number;\n }> {\n const { CORE_ADDRESSES } = await import('@aastar/core');\n \n const [totalSupply, totalStaked, blackholeBalance] = await Promise.all([\n this.publicClient.readContract({\n address: CORE_ADDRESSES.gToken,\n abi: parseAbi(['function totalSupply() view returns (uint256)']),\n functionName: 'totalSupply'\n }) as Promise<bigint>,\n this.publicClient.readContract({\n address: CORE_ADDRESSES.gTokenStaking,\n abi: parseAbi(['function totalStaked() view returns (uint256)']),\n functionName: 'totalStaked'\n }) as Promise<bigint>,\n this.publicClient.readContract({\n address: CORE_ADDRESSES.gToken,\n abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n functionName: 'balanceOf',\n args: ['0x000000000000000000000000000000000000dEaD']\n }) as Promise<bigint>\n ]);\n\n const circulating = totalSupply - totalStaked - blackholeBalance;\n const ratio = Number(formatEther(totalStaked)) / Number(formatEther(totalSupply)) * 100;\n\n return {\n totalSupply,\n totalStaked,\n totalBurned: blackholeBalance,\n circulatingSupply: circulating,\n stakingRatio: ratio\n };\n }\n}\n"]}