@axiom-crypto/keystore-sdk
Version:
Keystore Rollup SDK
46 lines • 1.42 kB
TypeScript
import { Data, Hash, KeystoreAddress, L1Address } from "../primitives";
import { TransactionType } from "../transaction";
import { KeystoreAccountRpc } from "./account";
import { HexQuantity } from "./primitives";
export type TransactionOrHashRpc = Hash | L2TransactionRpc;
export type BaseTransactionRpc = {
hash: Hash;
transactionIndex: HexQuantity;
blockHash: Hash;
blockNumber: HexQuantity;
};
export type DepositTransactionRpc = BaseTransactionRpc & {
l1InitiatedNonce: HexQuantity;
amt: HexQuantity;
keystoreAddress: KeystoreAddress;
};
export type WithdrawTransactionRpc = BaseTransactionRpc & {
isL1Initiated: boolean;
nonce: HexQuantity;
feePerGas: Data;
l1InitiatedNonce: Data;
to: L1Address;
amt: HexQuantity;
userAcct: KeystoreAccountRpc;
userProof: Data;
};
export type UpdateTransactionRpc = BaseTransactionRpc & {
isL1Initiated: boolean;
nonce: HexQuantity;
feePerGas: Data;
l1InitiatedNonce: Data;
newUserData: Data;
newUserVkey: Data;
userAcct: KeystoreAccountRpc;
userProof: Data;
sponsorAcctBytes: Data;
sponsorProof: Data;
};
export type L2TransactionRpc = ({
type: TransactionType.Deposit;
} & DepositTransactionRpc) | ({
type: TransactionType.Withdraw;
} & WithdrawTransactionRpc) | ({
type: TransactionType.Update;
} & UpdateTransactionRpc);
//# sourceMappingURL=transaction.d.ts.map