near-kit 0.0.0 → 0.1.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.
- package/LICENSE +21 -0
- package/README.md +371 -2
- package/dist/contracts/contract.d.ts +63 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js +42 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +5 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/core/actions.d.ts +193 -0
- package/dist/core/actions.d.ts.map +1 -0
- package/dist/core/actions.js +195 -0
- package/dist/core/actions.js.map +1 -0
- package/dist/core/config-schemas.d.ts +179 -0
- package/dist/core/config-schemas.d.ts.map +1 -0
- package/dist/core/config-schemas.js +169 -0
- package/dist/core/config-schemas.js.map +1 -0
- package/dist/core/constants.d.ts +43 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +49 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/near.d.ts +301 -0
- package/dist/core/near.d.ts.map +1 -0
- package/dist/core/near.js +504 -0
- package/dist/core/near.js.map +1 -0
- package/dist/core/nonce-manager.d.ts +39 -0
- package/dist/core/nonce-manager.d.ts.map +1 -0
- package/dist/core/nonce-manager.js +73 -0
- package/dist/core/nonce-manager.js.map +1 -0
- package/dist/core/rpc/rpc-error-handler.d.ts +60 -0
- package/dist/core/rpc/rpc-error-handler.d.ts.map +1 -0
- package/dist/core/rpc/rpc-error-handler.js +324 -0
- package/dist/core/rpc/rpc-error-handler.js.map +1 -0
- package/dist/core/rpc/rpc-schemas.d.ts +1812 -0
- package/dist/core/rpc/rpc-schemas.d.ts.map +1 -0
- package/dist/core/rpc/rpc-schemas.js +424 -0
- package/dist/core/rpc/rpc-schemas.js.map +1 -0
- package/dist/core/rpc/rpc.d.ts +117 -0
- package/dist/core/rpc/rpc.d.ts.map +1 -0
- package/dist/core/rpc/rpc.js +325 -0
- package/dist/core/rpc/rpc.js.map +1 -0
- package/dist/core/schema.d.ts +1188 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +396 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/transaction.d.ts +390 -0
- package/dist/core/transaction.d.ts.map +1 -0
- package/dist/core/transaction.js +649 -0
- package/dist/core/transaction.js.map +1 -0
- package/dist/core/types.d.ts +271 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/errors/index.d.ts +226 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +366 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/keys/credential-schemas.d.ts +98 -0
- package/dist/keys/credential-schemas.d.ts.map +1 -0
- package/dist/keys/credential-schemas.js +128 -0
- package/dist/keys/credential-schemas.js.map +1 -0
- package/dist/keys/file-keystore.d.ts +130 -0
- package/dist/keys/file-keystore.d.ts.map +1 -0
- package/dist/keys/file-keystore.js +266 -0
- package/dist/keys/file-keystore.js.map +1 -0
- package/dist/keys/in-memory-keystore.d.ts +71 -0
- package/dist/keys/in-memory-keystore.d.ts.map +1 -0
- package/dist/keys/in-memory-keystore.js +85 -0
- package/dist/keys/in-memory-keystore.js.map +1 -0
- package/dist/keys/index.d.ts +12 -0
- package/dist/keys/index.d.ts.map +1 -0
- package/dist/keys/index.js +18 -0
- package/dist/keys/index.js.map +1 -0
- package/dist/keys/native-keystore.d.ts +111 -0
- package/dist/keys/native-keystore.d.ts.map +1 -0
- package/dist/keys/native-keystore.js +167 -0
- package/dist/keys/native-keystore.js.map +1 -0
- package/dist/sandbox/index.d.ts +6 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +5 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/sandbox.d.ts +55 -0
- package/dist/sandbox/sandbox.d.ts.map +1 -0
- package/dist/sandbox/sandbox.js +341 -0
- package/dist/sandbox/sandbox.js.map +1 -0
- package/dist/utils/amount.d.ts +76 -0
- package/dist/utils/amount.d.ts.map +1 -0
- package/dist/utils/amount.js +137 -0
- package/dist/utils/amount.js.map +1 -0
- package/dist/utils/gas.d.ts +69 -0
- package/dist/utils/gas.d.ts.map +1 -0
- package/dist/utils/gas.js +92 -0
- package/dist/utils/gas.js.map +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +14 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/key.d.ts +117 -0
- package/dist/utils/key.d.ts.map +1 -0
- package/dist/utils/key.js +270 -0
- package/dist/utils/key.js.map +1 -0
- package/dist/utils/nep413.d.ts +97 -0
- package/dist/utils/nep413.d.ts.map +1 -0
- package/dist/utils/nep413.js +154 -0
- package/dist/utils/nep413.js.map +1 -0
- package/dist/utils/validation.d.ts +114 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +150 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallets/adapters.d.ts +119 -0
- package/dist/wallets/adapters.d.ts.map +1 -0
- package/dist/wallets/adapters.js +267 -0
- package/dist/wallets/adapters.js.map +1 -0
- package/dist/wallets/index.d.ts +11 -0
- package/dist/wallets/index.d.ts.map +1 -0
- package/dist/wallets/index.js +2 -0
- package/dist/wallets/index.js.map +1 -0
- package/dist/wallets/types.d.ts +99 -0
- package/dist/wallets/types.d.ts.map +1 -0
- package/dist/wallets/types.js +10 -0
- package/dist/wallets/types.js.map +1 -0
- package/package.json +78 -7
- package/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Borsh serialization schemas for NEAR transactions using Zorsh
|
|
3
|
+
* Based on NEAR Protocol specification and near-api-js implementation
|
|
4
|
+
*
|
|
5
|
+
* This module handles the low-level binary serialization details and keeps
|
|
6
|
+
* all Zorsh-specific types internal. External code should only use the
|
|
7
|
+
* serializeTransaction and serializeSignedTransaction functions.
|
|
8
|
+
*/
|
|
9
|
+
import { b } from "@zorsh/zorsh";
|
|
10
|
+
// ==================== NEP-461 Prefix ====================
|
|
11
|
+
/**
|
|
12
|
+
* Prefix for delegate actions (NEP-366 meta transactions)
|
|
13
|
+
* Value: 2^30 + 366 = 1073742190
|
|
14
|
+
*
|
|
15
|
+
* This prefix is prepended to DelegateAction when serializing for signing,
|
|
16
|
+
* ensuring delegate action signatures are always distinguishable from
|
|
17
|
+
* transaction signatures.
|
|
18
|
+
*/
|
|
19
|
+
export const DELEGATE_ACTION_PREFIX = 1073742190;
|
|
20
|
+
// ==================== Public Key ====================
|
|
21
|
+
/**
|
|
22
|
+
* Ed25519 public key data (32 bytes)
|
|
23
|
+
*/
|
|
24
|
+
const Ed25519KeySchema = b.struct({
|
|
25
|
+
data: b.array(b.u8(), 32),
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Secp256k1 public key data (64 bytes)
|
|
29
|
+
*/
|
|
30
|
+
const Secp256k1KeySchema = b.struct({
|
|
31
|
+
data: b.array(b.u8(), 64),
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* PublicKey enum (0 = Ed25519, 1 = Secp256k1)
|
|
35
|
+
*/
|
|
36
|
+
export const PublicKeySchema = b.enum({
|
|
37
|
+
ed25519Key: Ed25519KeySchema,
|
|
38
|
+
secp256k1Key: Secp256k1KeySchema,
|
|
39
|
+
});
|
|
40
|
+
// ==================== Signature ====================
|
|
41
|
+
/**
|
|
42
|
+
* Ed25519 signature data (64 bytes)
|
|
43
|
+
*/
|
|
44
|
+
const Ed25519SignatureSchema = b.struct({
|
|
45
|
+
data: b.array(b.u8(), 64),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Secp256k1 signature data (65 bytes)
|
|
49
|
+
*/
|
|
50
|
+
const Secp256k1SignatureSchema = b.struct({
|
|
51
|
+
data: b.array(b.u8(), 65),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Signature enum (0 = Ed25519, 1 = Secp256k1)
|
|
55
|
+
*/
|
|
56
|
+
export const SignatureSchema = b.enum({
|
|
57
|
+
ed25519Signature: Ed25519SignatureSchema,
|
|
58
|
+
secp256k1Signature: Secp256k1SignatureSchema,
|
|
59
|
+
});
|
|
60
|
+
// ==================== Access Key Permissions ====================
|
|
61
|
+
/**
|
|
62
|
+
* Function call permission with optional allowance
|
|
63
|
+
*/
|
|
64
|
+
const FunctionCallPermissionSchema = b.struct({
|
|
65
|
+
allowance: b.option(b.u128()),
|
|
66
|
+
receiverId: b.string(),
|
|
67
|
+
methodNames: b.vec(b.string()),
|
|
68
|
+
});
|
|
69
|
+
/**
|
|
70
|
+
* Full access permission (empty struct)
|
|
71
|
+
*/
|
|
72
|
+
const FullAccessPermissionSchema = b.struct({});
|
|
73
|
+
/**
|
|
74
|
+
* AccessKeyPermission enum (0 = FunctionCall, 1 = FullAccess)
|
|
75
|
+
*/
|
|
76
|
+
const AccessKeyPermissionSchema = b.enum({
|
|
77
|
+
functionCall: FunctionCallPermissionSchema,
|
|
78
|
+
fullAccess: FullAccessPermissionSchema,
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Access key with nonce and permission
|
|
82
|
+
*/
|
|
83
|
+
const AccessKeySchema = b.struct({
|
|
84
|
+
nonce: b.u64(),
|
|
85
|
+
permission: AccessKeyPermissionSchema,
|
|
86
|
+
});
|
|
87
|
+
// ==================== Transaction Actions ====================
|
|
88
|
+
/**
|
|
89
|
+
* CreateAccount action (empty struct)
|
|
90
|
+
*/
|
|
91
|
+
const CreateAccountSchema = b.struct({});
|
|
92
|
+
/**
|
|
93
|
+
* DeployContract action with WASM code
|
|
94
|
+
*/
|
|
95
|
+
const DeployContractSchema = b.struct({
|
|
96
|
+
code: b.vec(b.u8()),
|
|
97
|
+
});
|
|
98
|
+
/**
|
|
99
|
+
* FunctionCall action
|
|
100
|
+
* Field order: methodName, args, gas, deposit
|
|
101
|
+
*/
|
|
102
|
+
const FunctionCallSchema = b.struct({
|
|
103
|
+
methodName: b.string(),
|
|
104
|
+
args: b.vec(b.u8()),
|
|
105
|
+
gas: b.u64(),
|
|
106
|
+
deposit: b.u128(),
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* Transfer action with deposit amount
|
|
110
|
+
*/
|
|
111
|
+
const TransferSchema = b.struct({
|
|
112
|
+
deposit: b.u128(),
|
|
113
|
+
});
|
|
114
|
+
/**
|
|
115
|
+
* Stake action with amount and validator public key
|
|
116
|
+
*/
|
|
117
|
+
const StakeSchema = b.struct({
|
|
118
|
+
stake: b.u128(),
|
|
119
|
+
publicKey: PublicKeySchema,
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* AddKey action to add a new access key
|
|
123
|
+
*/
|
|
124
|
+
const AddKeySchema = b.struct({
|
|
125
|
+
publicKey: PublicKeySchema,
|
|
126
|
+
accessKey: AccessKeySchema,
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* DeleteKey action to remove an access key
|
|
130
|
+
*/
|
|
131
|
+
const DeleteKeySchema = b.struct({
|
|
132
|
+
publicKey: PublicKeySchema,
|
|
133
|
+
});
|
|
134
|
+
/**
|
|
135
|
+
* DeleteAccount action with beneficiary
|
|
136
|
+
*/
|
|
137
|
+
const DeleteAccountSchema = b.struct({
|
|
138
|
+
beneficiaryId: b.string(),
|
|
139
|
+
});
|
|
140
|
+
// ==================== Global Contract Actions ====================
|
|
141
|
+
/**
|
|
142
|
+
* GlobalContractDeployMode enum
|
|
143
|
+
* 0 = CodeHash (deploy by code hash)
|
|
144
|
+
* 1 = AccountId (deploy by account ID)
|
|
145
|
+
*/
|
|
146
|
+
const GlobalContractDeployModeSchema = b.enum({
|
|
147
|
+
CodeHash: b.struct({}),
|
|
148
|
+
AccountId: b.struct({}),
|
|
149
|
+
});
|
|
150
|
+
/**
|
|
151
|
+
* GlobalContractIdentifier enum
|
|
152
|
+
* 0 = CodeHash (32-byte hash)
|
|
153
|
+
* 1 = AccountId (string)
|
|
154
|
+
*/
|
|
155
|
+
const GlobalContractIdentifierSchema = b.enum({
|
|
156
|
+
CodeHash: b.array(b.u8(), 32),
|
|
157
|
+
AccountId: b.string(),
|
|
158
|
+
});
|
|
159
|
+
/**
|
|
160
|
+
* DeployGlobalContract action
|
|
161
|
+
*/
|
|
162
|
+
const DeployGlobalContractSchema = b.struct({
|
|
163
|
+
code: b.vec(b.u8()),
|
|
164
|
+
deployMode: GlobalContractDeployModeSchema,
|
|
165
|
+
});
|
|
166
|
+
/**
|
|
167
|
+
* UseGlobalContract action
|
|
168
|
+
*/
|
|
169
|
+
const UseGlobalContractSchema = b.struct({
|
|
170
|
+
contractIdentifier: GlobalContractIdentifierSchema,
|
|
171
|
+
});
|
|
172
|
+
// ==================== Delegate Actions ====================
|
|
173
|
+
/**
|
|
174
|
+
* ClassicActions enum - same as Action but without SignedDelegate
|
|
175
|
+
* Used within DelegateAction to prevent infinite recursion
|
|
176
|
+
* Note: The discriminant values must match the NEAR protocol spec
|
|
177
|
+
*/
|
|
178
|
+
const ClassicActionsSchema = b.enum({
|
|
179
|
+
createAccount: CreateAccountSchema,
|
|
180
|
+
deployContract: DeployContractSchema,
|
|
181
|
+
functionCall: FunctionCallSchema,
|
|
182
|
+
transfer: TransferSchema,
|
|
183
|
+
stake: StakeSchema,
|
|
184
|
+
addKey: AddKeySchema,
|
|
185
|
+
deleteKey: DeleteKeySchema,
|
|
186
|
+
deleteAccount: DeleteAccountSchema,
|
|
187
|
+
deployGlobalContract: DeployGlobalContractSchema,
|
|
188
|
+
useGlobalContract: UseGlobalContractSchema,
|
|
189
|
+
});
|
|
190
|
+
/**
|
|
191
|
+
* DelegateAction for meta-transactions
|
|
192
|
+
* Allows one account to sign a transaction on behalf of another
|
|
193
|
+
*/
|
|
194
|
+
const DelegateActionSchema = b.struct({
|
|
195
|
+
senderId: b.string(),
|
|
196
|
+
receiverId: b.string(),
|
|
197
|
+
actions: b.vec(ClassicActionsSchema),
|
|
198
|
+
nonce: b.u64(),
|
|
199
|
+
maxBlockHeight: b.u64(),
|
|
200
|
+
publicKey: PublicKeySchema,
|
|
201
|
+
});
|
|
202
|
+
/**
|
|
203
|
+
* SignedDelegate - a delegate action with signature
|
|
204
|
+
*/
|
|
205
|
+
const SignedDelegateSchema = b.struct({
|
|
206
|
+
delegateAction: DelegateActionSchema,
|
|
207
|
+
signature: SignatureSchema,
|
|
208
|
+
});
|
|
209
|
+
/**
|
|
210
|
+
* Action enum matching NEAR protocol action discriminants
|
|
211
|
+
* Order matters! Each position corresponds to the action type index:
|
|
212
|
+
* 0 = CreateAccount
|
|
213
|
+
* 1 = DeployContract
|
|
214
|
+
* 2 = FunctionCall
|
|
215
|
+
* 3 = Transfer
|
|
216
|
+
* 4 = Stake
|
|
217
|
+
* 5 = AddKey
|
|
218
|
+
* 6 = DeleteKey
|
|
219
|
+
* 7 = DeleteAccount
|
|
220
|
+
* 8 = SignedDelegate
|
|
221
|
+
* 9 = DeployGlobalContract
|
|
222
|
+
* 10 = UseGlobalContract
|
|
223
|
+
*/
|
|
224
|
+
export const ActionSchema = b.enum({
|
|
225
|
+
createAccount: CreateAccountSchema,
|
|
226
|
+
deployContract: DeployContractSchema,
|
|
227
|
+
functionCall: FunctionCallSchema,
|
|
228
|
+
transfer: TransferSchema,
|
|
229
|
+
stake: StakeSchema,
|
|
230
|
+
addKey: AddKeySchema,
|
|
231
|
+
deleteKey: DeleteKeySchema,
|
|
232
|
+
deleteAccount: DeleteAccountSchema,
|
|
233
|
+
signedDelegate: SignedDelegateSchema,
|
|
234
|
+
deployGlobalContract: DeployGlobalContractSchema,
|
|
235
|
+
useGlobalContract: UseGlobalContractSchema,
|
|
236
|
+
});
|
|
237
|
+
// ==================== Transaction ====================
|
|
238
|
+
/**
|
|
239
|
+
* Transaction schema
|
|
240
|
+
* Field order: signerId, publicKey, nonce, receiverId, blockHash, actions
|
|
241
|
+
*/
|
|
242
|
+
export const TransactionSchema = b.struct({
|
|
243
|
+
signerId: b.string(),
|
|
244
|
+
publicKey: PublicKeySchema,
|
|
245
|
+
nonce: b.u64(),
|
|
246
|
+
receiverId: b.string(),
|
|
247
|
+
blockHash: b.array(b.u8(), 32),
|
|
248
|
+
actions: b.vec(ActionSchema),
|
|
249
|
+
});
|
|
250
|
+
/**
|
|
251
|
+
* SignedTransaction schema
|
|
252
|
+
*/
|
|
253
|
+
export const SignedTransactionSchema = b.struct({
|
|
254
|
+
transaction: TransactionSchema,
|
|
255
|
+
signature: SignatureSchema,
|
|
256
|
+
});
|
|
257
|
+
// ==================== Serialization Helpers ====================
|
|
258
|
+
/**
|
|
259
|
+
* Convert DelegateAction to zorsh-compatible format
|
|
260
|
+
*/
|
|
261
|
+
function delegateActionToZorsh(delegateAction) {
|
|
262
|
+
return {
|
|
263
|
+
senderId: delegateAction.senderId,
|
|
264
|
+
receiverId: delegateAction.receiverId,
|
|
265
|
+
actions: delegateAction.actions,
|
|
266
|
+
nonce: delegateAction.nonce,
|
|
267
|
+
maxBlockHeight: delegateAction.maxBlockHeight,
|
|
268
|
+
publicKey: publicKeyToZorsh(delegateAction.publicKey),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
export function publicKeyToZorsh(pk) {
|
|
272
|
+
if (pk.keyType === 0) {
|
|
273
|
+
// Ed25519
|
|
274
|
+
return { ed25519Key: { data: Array.from(pk.data) } };
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// Secp256k1
|
|
278
|
+
return { secp256k1Key: { data: Array.from(pk.data) } };
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
export function signatureToZorsh(sig) {
|
|
282
|
+
if (sig.keyType === 0) {
|
|
283
|
+
// Ed25519
|
|
284
|
+
return { ed25519Signature: { data: Array.from(sig.data) } };
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
// Secp256k1
|
|
288
|
+
return { secp256k1Signature: { data: Array.from(sig.data) } };
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Convert an action to zorsh-compatible format
|
|
293
|
+
* Since action helpers now do conversion, this only handles recursive processing
|
|
294
|
+
* of delegate actions (which contain nested action arrays)
|
|
295
|
+
*/
|
|
296
|
+
function actionToZorsh(action) {
|
|
297
|
+
// Only need to recursively process delegate actions
|
|
298
|
+
if ("signedDelegate" in action) {
|
|
299
|
+
return {
|
|
300
|
+
signedDelegate: {
|
|
301
|
+
delegateAction: {
|
|
302
|
+
senderId: action.signedDelegate.delegateAction.senderId,
|
|
303
|
+
receiverId: action.signedDelegate.delegateAction.receiverId,
|
|
304
|
+
// Recursively convert nested actions
|
|
305
|
+
actions: action.signedDelegate.delegateAction.actions.map((a) => actionToZorsh(a)),
|
|
306
|
+
nonce: action.signedDelegate.delegateAction.nonce,
|
|
307
|
+
maxBlockHeight: action.signedDelegate.delegateAction.maxBlockHeight,
|
|
308
|
+
publicKey: action.signedDelegate.delegateAction.publicKey,
|
|
309
|
+
},
|
|
310
|
+
signature: action.signedDelegate.signature,
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
// All other actions are already in zorsh-compatible format from helpers
|
|
315
|
+
return action;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Serialize a transaction to bytes
|
|
319
|
+
*/
|
|
320
|
+
export function serializeTransaction(tx) {
|
|
321
|
+
return TransactionSchema.serialize({
|
|
322
|
+
signerId: tx.signerId,
|
|
323
|
+
publicKey: publicKeyToZorsh(tx.publicKey),
|
|
324
|
+
nonce: tx.nonce,
|
|
325
|
+
receiverId: tx.receiverId,
|
|
326
|
+
blockHash: Array.from(tx.blockHash),
|
|
327
|
+
actions: tx.actions.map(actionToZorsh),
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Serialize a signed transaction to bytes
|
|
332
|
+
*/
|
|
333
|
+
export function serializeSignedTransaction(signedTx) {
|
|
334
|
+
return SignedTransactionSchema.serialize({
|
|
335
|
+
transaction: {
|
|
336
|
+
signerId: signedTx.transaction.signerId,
|
|
337
|
+
publicKey: publicKeyToZorsh(signedTx.transaction.publicKey),
|
|
338
|
+
nonce: signedTx.transaction.nonce,
|
|
339
|
+
receiverId: signedTx.transaction.receiverId,
|
|
340
|
+
blockHash: Array.from(signedTx.transaction.blockHash),
|
|
341
|
+
actions: signedTx.transaction.actions.map(actionToZorsh),
|
|
342
|
+
},
|
|
343
|
+
signature: signatureToZorsh(signedTx.signature),
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
// ==================== Delegate Action Serialization ====================
|
|
347
|
+
/**
|
|
348
|
+
* Serialize a delegate action for signing
|
|
349
|
+
*
|
|
350
|
+
* Per NEP-461, this prepends a u32 prefix (2^30 + 366) before the delegate action,
|
|
351
|
+
* ensuring signed delegate actions are never identical to signed transactions.
|
|
352
|
+
*
|
|
353
|
+
* Use this when you need to sign a DelegateAction to create a SignedDelegate.
|
|
354
|
+
*
|
|
355
|
+
* @param delegateAction - The delegate action to serialize
|
|
356
|
+
* @returns Uint8Array - The prefixed and serialized delegate action
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* ```typescript
|
|
360
|
+
* const encoded = serializeDelegateAction(delegateAction)
|
|
361
|
+
* const hash = await crypto.subtle.digest("SHA-256", encoded)
|
|
362
|
+
* const signature = await signer.sign(new Uint8Array(hash))
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
export function serializeDelegateAction(delegateAction) {
|
|
366
|
+
const prefixBytes = b.u32().serialize(DELEGATE_ACTION_PREFIX);
|
|
367
|
+
const delegateBytes = DelegateActionSchema.serialize(delegateActionToZorsh(delegateAction));
|
|
368
|
+
const result = new Uint8Array(prefixBytes.length + delegateBytes.length);
|
|
369
|
+
result.set(prefixBytes, 0);
|
|
370
|
+
result.set(delegateBytes, prefixBytes.length);
|
|
371
|
+
return result;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Serialize a signed delegate action for inclusion in a transaction
|
|
375
|
+
*
|
|
376
|
+
* This serializes a SignedDelegate (DelegateAction + signature) for use as
|
|
377
|
+
* an action within a meta transaction.
|
|
378
|
+
*
|
|
379
|
+
* Note: This does NOT include the NEP-461 prefix (only needed when signing).
|
|
380
|
+
*
|
|
381
|
+
* @param signedDelegate - The signed delegate action to serialize
|
|
382
|
+
* @returns Uint8Array - The serialized signed delegate action
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* ```typescript
|
|
386
|
+
* const encoded = serializeSignedDelegate(signedDelegate)
|
|
387
|
+
* // Use encoded bytes in transaction action
|
|
388
|
+
* ```
|
|
389
|
+
*/
|
|
390
|
+
export function serializeSignedDelegate(signedDelegate) {
|
|
391
|
+
return SignedDelegateSchema.serialize({
|
|
392
|
+
delegateAction: delegateActionToZorsh(signedDelegate.delegateAction),
|
|
393
|
+
signature: signatureToZorsh(signedDelegate.signature),
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
|