@kynesyslabs/demosdk 2.3.16 → 2.3.17

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,6 +1,7 @@
1
1
  import { BridgeOperationCompiled, SupportedChain, SupportedEVMChain, SupportedStablecoin, SupportedNonEVMChain } from "./nativeBridgeTypes";
2
2
  import { Transaction } from "../types/blockchain/Transaction";
3
3
  import { RPCRequest } from "../types";
4
+ import { Demos } from "../websdk";
4
5
  export declare const methods: {
5
6
  /**
6
7
  * Validates the chain
@@ -16,11 +17,11 @@ export declare const methods: {
16
17
  */
17
18
  generateOperation(privateKey: string, publicKey: string, originChainType: SupportedChain, originChain: SupportedEVMChain | SupportedNonEVMChain, destinationChainType: SupportedChain, destinationChain: SupportedEVMChain | SupportedNonEVMChain, originAddress: string, destinationAddress: string, amount: string, token: SupportedStablecoin): RPCRequest;
18
19
  /**
20
+ * Generates a bridge transaction ready for client confirmation and broadcasting.
19
21
  *
20
- * @param compiled operation
21
- * @param signature
22
- * @param rpc
23
- * @returns
22
+ * @param compiled - The compiled bridge operation from RPC
23
+ * @param demos - Demos instance for signing (provides wallet and nonce)
24
+ * @returns Signed transaction ready for demos.confirm() and demos.broadcast()
24
25
  */
25
- generateOperationTx(compiled: BridgeOperationCompiled): Transaction;
26
+ generateOperationTx(compiled: BridgeOperationCompiled, demos: Demos): Promise<Transaction>;
26
27
  };
@@ -57,25 +57,31 @@ exports.methods = {
57
57
  return nodeCallPayload;
58
58
  },
59
59
  /**
60
+ * Generates a bridge transaction ready for client confirmation and broadcasting.
60
61
  *
61
- * @param compiled operation
62
- * @param signature
63
- * @param rpc
64
- * @returns
62
+ * @param compiled - The compiled bridge operation from RPC
63
+ * @param demos - Demos instance for signing (provides wallet and nonce)
64
+ * @returns Signed transaction ready for demos.confirm() and demos.broadcast()
65
65
  */
66
- generateOperationTx(compiled) {
67
- // TODO Implement the transaction once we have the compiled operation
68
- // Preparing the known values for the transaction
66
+ async generateOperationTx(compiled, demos) {
67
+ // Extract addresses from the compiled operation
68
+ const operation = compiled.content.operation;
69
+ const from = operation.originAddress; // Source chain address
70
+ const to = operation.originAddress; // Same as from (reflexive transaction)
71
+ const from_ed25519_address = operation.demoAddress; // Demos address that started operation
72
+ // Get proper nonce from demos instance
73
+ const nonce = await demos.getAddressNonce(from_ed25519_address);
74
+ // Prepare the transaction structure
69
75
  const tx = {
70
76
  content: {
71
77
  type: "nativeBridge",
72
78
  data: ["nativeBridge", compiled],
73
- from: "", // TODO Implement from using the identity
74
- to: "", // TODO Same as from
75
- from_ed25519_address: "",
76
- amount: 0,
77
- gcr_edits: [],
78
- nonce: 0,
79
+ from: from,
80
+ to: to,
81
+ from_ed25519_address: from_ed25519_address,
82
+ amount: 0, // Always 0 for bridge operations
83
+ gcr_edits: [], // Will be generated by demos.sign()
84
+ nonce: nonce + 1,
79
85
  timestamp: Date.now(),
80
86
  transaction_fee: {
81
87
  network_fee: 0,
@@ -92,8 +98,11 @@ exports.methods = {
92
98
  blockNumber: 0,
93
99
  ed25519_signature: ""
94
100
  };
95
- // TODO Hash and sign the transaction
96
- return tx;
101
+ // Use demos.sign() which handles GCR generation, hashing, and signing
102
+ const signedTx = await demos.sign(tx);
103
+ // NOTE: Client must call demos.confirm(signedTx) then demos.broadcast(validationData)
104
+ // to complete the transaction flow, following the same pattern as pay() transactions
105
+ return signedTx;
97
106
  },
98
107
  };
99
108
  //# sourceMappingURL=nativeBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Aptos, Network, Account, SimpleTransaction, UserTransactionResponse } from "@aptos-labs/ts-sdk";
2
2
  import { DefaultChain } from "./types/defaultChain";
3
3
  import { IPayParams } from "./types/interfaces";
4
+ import { XMScript } from "../../types";
4
5
  /**
5
6
  * Extension methods for the Aptos Default Chain SDK
6
7
  */
@@ -8,6 +9,12 @@ export interface AptosDefaultChain extends DefaultChain {
8
9
  aptos: Aptos;
9
10
  account: Account | null;
10
11
  network: Network;
12
+ wallet: Account | null;
13
+ /**
14
+ * Gets the public key of the connected wallet
15
+ * @returns The public key as hex string
16
+ */
17
+ getPublicKey: () => string;
11
18
  /**
12
19
  * Get APT balance for an account (default: XM operation)
13
20
  */
@@ -27,7 +34,7 @@ export interface AptosDefaultChain extends DefaultChain {
27
34
  /**
28
35
  * Read from a smart contract (default: XM operation)
29
36
  */
30
- readFromContract: (moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]) => Promise<any>;
37
+ readFromContract: (moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]) => Promise<XMScript>;
31
38
  /**
32
39
  * Read from a smart contract directly (bypasses Demos Network)
33
40
  */
@@ -35,7 +42,7 @@ export interface AptosDefaultChain extends DefaultChain {
35
42
  /**
36
43
  * Write to a smart contract (entry function) - returns signed transaction for XM
37
44
  */
38
- writeToContract: (moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]) => Promise<Uint8Array>;
45
+ writeToContract: (moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]) => Promise<XMScript>;
39
46
  /**
40
47
  * Wait for transaction confirmation
41
48
  */
@@ -60,6 +67,7 @@ export declare class APTOS extends DefaultChain implements AptosDefaultChain {
60
67
  setNetwork(network: Network): void;
61
68
  /**
62
69
  * Connects to the Aptos network
70
+ *
63
71
  * @returns A boolean indicating whether the connection was successful
64
72
  */
65
73
  connect(): Promise<boolean>;
@@ -70,93 +78,111 @@ export declare class APTOS extends DefaultChain implements AptosDefaultChain {
70
78
  */
71
79
  connectWallet(privateKey: string): Promise<Account>;
72
80
  /**
73
- * Gets the APT balance directly from Aptos RPC (bypasses Demos Network)
74
- * Use only when explicit direct access is needed
75
- * @param address The wallet address
76
- * @returns The balance as a string (in Octas, 1 APT = 100,000,000 Octas)
77
- */
78
- getBalanceDirect(address: string): Promise<string>;
79
- /**
80
- * Gets the APT balance directly using official SDK method (bypasses Demos Network)
81
- * Use only when explicit direct access is needed
81
+ * Gets the APT balance directly from Aptos RPC given an address
82
+ *
83
+ * The other get balance methods use this method to get the balance
84
+ *
82
85
  * @param address The wallet address
83
86
  * @returns The balance as a string (in Octas)
84
87
  */
85
88
  getAPTBalanceDirect(address: string): Promise<string>;
86
89
  /**
87
- * Gets the balance of a specific coin type directly (bypasses Demos Network)
88
- * Use only when explicit direct access is needed
90
+ * Gets the balance of a specific coin type directly from Aptos RPC given a coin type and address
91
+ *
92
+ * The other get balance methods use this method to get the balance
93
+ *
89
94
  * @param coinType The coin type (e.g., "0x1::aptos_coin::AptosCoin")
90
95
  * @param address The wallet address
91
96
  * @returns The balance as a string
92
97
  */
93
98
  getCoinBalanceDirect(coinType: string, address: string): Promise<string>;
94
99
  /**
95
- * Gets the APT balance via Demos Network XM operation (default behavior)
100
+ * Gets the APT balance from the Aptos network given an address
101
+ *
96
102
  * @param address The wallet address
97
103
  * @returns XM operation object for Demos Network relay
98
104
  */
99
105
  getBalance(address: string): Promise<any>;
100
106
  /**
101
- * Gets the APT balance via Demos Network XM operation (default behavior)
107
+ * Gets the APT balance from the Aptos network given an address
108
+ *
102
109
  * @param address The wallet address
103
110
  * @returns XM operation object for Demos Network relay
104
111
  */
105
112
  getAPTBalance(address: string): Promise<any>;
106
113
  /**
107
- * Gets the coin balance via Demos Network XM operation (default behavior)
114
+ * Gets a coin balance from the Aptos network given a coin type and address
115
+ *
108
116
  * @param coinType The coin type (e.g., "0x1::aptos_coin::AptosCoin")
109
117
  * @param address The wallet address
118
+ *
110
119
  * @returns XM operation object for Demos Network relay
111
120
  */
112
121
  getCoinBalance(coinType: string, address: string): Promise<any>;
113
122
  /**
114
123
  * Creates a signed transaction to transfer APT
124
+ *
115
125
  * @param receiver The receiver's address
116
126
  * @param amount The amount to transfer (in Octas)
117
- * @returns The signed transaction
127
+ *
128
+ * @returns The signed Aptos transaction as hex string
118
129
  */
119
- preparePay(receiver: string, amount: string): Promise<Uint8Array>;
130
+ preparePay(receiver: string, amount: string): Promise<string>;
120
131
  /**
121
132
  * Creates multiple signed transactions to transfer APT
133
+ *
122
134
  * @param payments Array of payment parameters
123
- * @returns Array of signed transactions
135
+ *
136
+ * @returns Array of signed Aptos transactions as hex strings
124
137
  */
125
- preparePays(payments: IPayParams[]): Promise<Uint8Array[]>;
138
+ preparePays(payments: IPayParams[]): Promise<string[]>;
126
139
  /**
127
140
  * Creates an empty transaction template
128
141
  */
129
142
  getEmptyTransaction(): Promise<SimpleTransaction>;
143
+ /**
144
+ * Gets the public key of the connected wallet
145
+ *
146
+ * @returns The public key as hex string
147
+ */
148
+ getPublicKey(): string;
130
149
  /**
131
150
  * Returns the address of the connected wallet
151
+ *
152
+ * @returns The wallet address as hex string
132
153
  */
133
154
  getAddress(): string;
134
155
  /**
135
156
  * Signs a message using the connected wallet
136
157
  * @param message The message to sign
137
- * @returns The signed message
158
+ *
159
+ * @returns The signed message as hex string
138
160
  */
139
- signMessage(message: string): Promise<Uint8Array>;
161
+ signMessage(message: string): Promise<string>;
140
162
  /**
141
163
  * Verifies a message signature
164
+ *
142
165
  * @param message The original message
143
166
  * @param signature The signature to verify
144
167
  * @param publicKey The public key to verify against
168
+ *
145
169
  * @returns Boolean indicating if the signature is valid
146
170
  */
147
- verifyMessage(message: string, signature: string | Uint8Array, publicKey: string | Uint8Array): Promise<boolean>;
171
+ verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>;
148
172
  /**
149
173
  * Signs a transaction using the connected wallet
150
174
  * @param transaction The transaction to sign
151
- * @returns The signed transaction
175
+ *
176
+ * @returns The signed Aptos transaction as hex string
152
177
  */
153
- signTransaction(transaction: SimpleTransaction): Promise<Uint8Array>;
178
+ signTransaction(transaction: SimpleTransaction): Promise<string>;
154
179
  /**
155
180
  * Signs multiple transactions
156
181
  * @param transactions Array of transactions to sign
157
- * @returns Array of signed transactions
182
+ *
183
+ * @returns Array of signed Aptos transactions as hex strings
158
184
  */
159
- signTransactions(transactions: SimpleTransaction[]): Promise<Uint8Array[]>;
185
+ signTransactions(transactions: SimpleTransaction[]): Promise<string[]>;
160
186
  /**
161
187
  * Read from a smart contract directly (bypasses Demos Network)
162
188
  * Use only when explicit direct access is needed
@@ -165,6 +191,7 @@ export declare class APTOS extends DefaultChain implements AptosDefaultChain {
165
191
  * @param functionName The function name
166
192
  * @param args Function arguments
167
193
  * @param typeArguments Type arguments for generic functions (optional)
194
+ *
168
195
  * @returns The function result
169
196
  */
170
197
  readFromContractDirect(moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]): Promise<any>;
@@ -175,9 +202,10 @@ export declare class APTOS extends DefaultChain implements AptosDefaultChain {
175
202
  * @param functionName The function name
176
203
  * @param args Function arguments
177
204
  * @param typeArguments Type arguments for generic functions (optional)
178
- * @returns XM operation object for Demos Network relay
205
+ *
206
+ * @returns The XMScript object ready to be used in a Demos transaction
179
207
  */
180
- readFromContract(moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]): Promise<any>;
208
+ readFromContract(moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]): Promise<XMScript>;
181
209
  /**
182
210
  * Prepare a smart contract write transaction for Demos Network relay
183
211
  * Builds transaction for XM operations - does NOT execute directly
@@ -187,9 +215,10 @@ export declare class APTOS extends DefaultChain implements AptosDefaultChain {
187
215
  * @param functionName The function name
188
216
  * @param args Function arguments
189
217
  * @param typeArguments Type arguments (optional)
190
- * @returns The serialized transaction bytes for XM relay
218
+ *
219
+ * @returns The XMScript object ready to be used in a Demos transaction
191
220
  */
192
- writeToContract(moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]): Promise<Uint8Array>;
221
+ writeToContract(moduleAddress: string, moduleName: string, functionName: string, args: any[], typeArguments?: string[]): Promise<XMScript>;
193
222
  /**
194
223
  * Wait for transaction confirmation
195
224
  * @param transactionHash The transaction hash