New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@concordium/common-sdk

Package Overview
Dependencies
Maintainers
4
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@concordium/common-sdk - npm Package Compare versions

Comparing version

to
2.4.0

lib/HdWallet.d.ts

18

lib/credentialDeploymentTransactions.d.ts

@@ -1,2 +0,2 @@

import { AttributeKey, CredentialDeploymentTransaction, CredentialDeploymentInfo, CryptographicParameters, IdentityInput, UnsignedCdiWithRandomness, UnsignedCredentialDeploymentInformation, VerifyKey } from './types';
import { AttributeKey, CredentialDeploymentTransaction, CredentialDeploymentInfo, CryptographicParameters, IdentityInput, UnsignedCdiWithRandomness, UnsignedCredentialDeploymentInformation, VerifyKey, IpInfo, ArInfo, IdentityObjectV1, SignedCredentialDeploymentDetails, Network } from './types';
import { TransactionExpiry } from './types/transactionExpiry';

@@ -46,1 +46,17 @@ import { AccountAddress } from './types/accountAddress';

export declare function getAccountAddress(credId: string): AccountAddress;
export declare type CredentialInputV1 = {
ipInfo: IpInfo;
globalContext: CryptographicParameters;
arsInfos: Record<string, ArInfo>;
idObject: IdentityObjectV1;
revealedAttributes: AttributeKey[];
seedAsHex: string;
net: Network;
identityIndex: number;
credNumber: number;
expiry: number;
};
/**
* Creates a credential for a new account, using the version 1 algorithm, which uses a seed to generate keys and commitments.
*/
export declare function createCredentialV1(input: CredentialInputV1): SignedCredentialDeploymentDetails;

@@ -26,7 +26,9 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getAccountAddress = exports.buildSignedCredentialForExistingAccount = exports.createUnsignedCredentialForExistingAccount = exports.createCredentialDeploymentTransaction = void 0;
exports.createCredentialV1 = exports.getAccountAddress = exports.buildSignedCredentialForExistingAccount = exports.createUnsignedCredentialForExistingAccount = exports.createCredentialDeploymentTransaction = void 0;
const wasm = __importStar(require("@concordium/rust-bindings"));
const transactionExpiry_1 = require("./types/transactionExpiry");
const accountAddress_1 = require("./types/accountAddress");
const hash_1 = require("./hash");
const bs58check = __importStar(require("bs58check"));
const buffer_1 = require("buffer/");
/**

@@ -132,4 +134,4 @@ * Generates the unsigned credential information that has to be signed when

function getAccountAddress(credId) {
const hashedCredId = (0, hash_1.sha256)([Buffer.from(credId, 'hex')]);
const prefixedWithVersion = Buffer.concat([Buffer.of(1), hashedCredId]);
const hashedCredId = (0, hash_1.sha256)([buffer_1.Buffer.from(credId, 'hex')]);
const prefixedWithVersion = buffer_1.Buffer.concat([buffer_1.Buffer.of(1), hashedCredId]);
const accountAddress = new accountAddress_1.AccountAddress(bs58check.encode(prefixedWithVersion));

@@ -139,1 +141,19 @@ return accountAddress;

exports.getAccountAddress = getAccountAddress;
/**
* Creates a credential for a new account, using the version 1 algorithm, which uses a seed to generate keys and commitments.
*/
function createCredentialV1(input) {
const rawRequest = wasm.createCredentialV1(JSON.stringify(input));
let info;
try {
info = JSON.parse(rawRequest);
}
catch (e) {
throw new Error(rawRequest);
}
return {
expiry: transactionExpiry_1.TransactionExpiry.fromEpochSeconds(BigInt(input.expiry)),
cdi: info,
};
}
exports.createCredentialV1 = createCredentialV1;

9

lib/index.d.ts

@@ -1,5 +0,4 @@

import { getAccountTransactionHash, getAccountTransactionSignDigest, getCredentialDeploymentSignDigest, getCredentialDeploymentTransactionHash, getCredentialForExistingAccountSignDigest, serializeInitContractParameters, serializeUpdateContractParameters, serializeAccountTransactionForSubmission, serializeCredentialDeploymentTransactionForSubmission } from './serialization';
import { sha256 } from './hash';
export * from './types';
export { getAccountTransactionHash, getAccountTransactionSignDigest, getCredentialDeploymentSignDigest, getCredentialDeploymentTransactionHash, getCredentialForExistingAccountSignDigest, serializeInitContractParameters, serializeUpdateContractParameters, serializeAccountTransactionForSubmission, serializeCredentialDeploymentTransactionForSubmission, };
export { getAccountTransactionHash, getAccountTransactionSignDigest, getCredentialDeploymentSignDigest, getCredentialDeploymentTransactionHash, getCredentialForExistingAccountSignDigest, serializeInitContractParameters, serializeUpdateContractParameters, serializeAccountTransactionForSubmission, serializeCredentialDeploymentTransactionForSubmission, getSignedCredentialDeploymentTransactionHash, } from './serialization';
export { sha256 };

@@ -12,5 +11,5 @@ export { CredentialRegistrationId } from './types/CredentialRegistrationId';

export { ModuleReference } from './types/moduleReference';
export { createCredentialDeploymentTransaction, createUnsignedCredentialForExistingAccount, getAccountAddress, buildSignedCredentialForExistingAccount, } from './credentialDeploymentTransactions';
export { createCredentialDeploymentTransaction, createUnsignedCredentialForExistingAccount, getAccountAddress, buildSignedCredentialForExistingAccount, createCredentialV1, CredentialInputV1, } from './credentialDeploymentTransactions';
export { isAlias, getAlias } from './alias';
export { deserializeContractState, deserializeTransaction } from './deserialization';
export { deserializeContractState, deserializeTransaction, } from './deserialization';
export * from './signHelpers';

@@ -20,4 +19,6 @@ export * from './accountHelpers';

export * from './rewardStatusHelpers';
export * from './HdWallet';
export { isHex } from './util';
export { HttpProvider } from './providers/httpProvider';
export { JsonRpcClient } from './JsonRpcClient';
export * from './identity';

@@ -17,4 +17,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonRpcClient = exports.HttpProvider = exports.isHex = exports.deserializeTransaction = exports.deserializeContractState = exports.getAlias = exports.isAlias = exports.buildSignedCredentialForExistingAccount = exports.getAccountAddress = exports.createUnsignedCredentialForExistingAccount = exports.createCredentialDeploymentTransaction = exports.ModuleReference = exports.DataBlob = exports.TransactionExpiry = exports.GtuAmount = exports.AccountAddress = exports.CredentialRegistrationId = exports.sha256 = exports.serializeCredentialDeploymentTransactionForSubmission = exports.serializeAccountTransactionForSubmission = exports.serializeUpdateContractParameters = exports.serializeInitContractParameters = exports.getCredentialForExistingAccountSignDigest = exports.getCredentialDeploymentTransactionHash = exports.getCredentialDeploymentSignDigest = exports.getAccountTransactionSignDigest = exports.getAccountTransactionHash = void 0;
const serialization_1 = require("./serialization");
exports.JsonRpcClient = exports.HttpProvider = exports.isHex = exports.deserializeTransaction = exports.deserializeContractState = exports.getAlias = exports.isAlias = exports.createCredentialV1 = exports.buildSignedCredentialForExistingAccount = exports.getAccountAddress = exports.createUnsignedCredentialForExistingAccount = exports.createCredentialDeploymentTransaction = exports.ModuleReference = exports.DataBlob = exports.TransactionExpiry = exports.GtuAmount = exports.AccountAddress = exports.CredentialRegistrationId = exports.sha256 = exports.getSignedCredentialDeploymentTransactionHash = exports.serializeCredentialDeploymentTransactionForSubmission = exports.serializeAccountTransactionForSubmission = exports.serializeUpdateContractParameters = exports.serializeInitContractParameters = exports.getCredentialForExistingAccountSignDigest = exports.getCredentialDeploymentTransactionHash = exports.getCredentialDeploymentSignDigest = exports.getAccountTransactionSignDigest = exports.getAccountTransactionHash = void 0;
const hash_1 = require("./hash");
Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return hash_1.sha256; } });
__exportStar(require("./types"), exports);
var serialization_1 = require("./serialization");
Object.defineProperty(exports, "getAccountTransactionHash", { enumerable: true, get: function () { return serialization_1.getAccountTransactionHash; } });

@@ -29,5 +32,3 @@ Object.defineProperty(exports, "getAccountTransactionSignDigest", { enumerable: true, get: function () { return serialization_1.getAccountTransactionSignDigest; } });

Object.defineProperty(exports, "serializeCredentialDeploymentTransactionForSubmission", { enumerable: true, get: function () { return serialization_1.serializeCredentialDeploymentTransactionForSubmission; } });
const hash_1 = require("./hash");
Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return hash_1.sha256; } });
__exportStar(require("./types"), exports);
Object.defineProperty(exports, "getSignedCredentialDeploymentTransactionHash", { enumerable: true, get: function () { return serialization_1.getSignedCredentialDeploymentTransactionHash; } });
var CredentialRegistrationId_1 = require("./types/CredentialRegistrationId");

@@ -50,2 +51,3 @@ Object.defineProperty(exports, "CredentialRegistrationId", { enumerable: true, get: function () { return CredentialRegistrationId_1.CredentialRegistrationId; } });

Object.defineProperty(exports, "buildSignedCredentialForExistingAccount", { enumerable: true, get: function () { return credentialDeploymentTransactions_1.buildSignedCredentialForExistingAccount; } });
Object.defineProperty(exports, "createCredentialV1", { enumerable: true, get: function () { return credentialDeploymentTransactions_1.createCredentialV1; } });
var alias_1 = require("./alias");

@@ -61,2 +63,3 @@ Object.defineProperty(exports, "isAlias", { enumerable: true, get: function () { return alias_1.isAlias; } });

__exportStar(require("./rewardStatusHelpers"), exports);
__exportStar(require("./HdWallet"), exports);
var util_1 = require("./util");

@@ -68,1 +71,2 @@ Object.defineProperty(exports, "isHex", { enumerable: true, get: function () { return util_1.isHex; } });

Object.defineProperty(exports, "JsonRpcClient", { enumerable: true, get: function () { return JsonRpcClient_1.JsonRpcClient; } });
__exportStar(require("./identity"), exports);
import { Buffer } from 'buffer/';
import { AccountInfo, AccountTransaction, AccountTransactionSignature, ConsensusStatus, ContractAddress, ContractContext, CryptographicParameters, InstanceInfo, InvokeContractResult, NextAccountNonce, TransactionStatus, Versioned } from './types';
import { AccountInfo, AccountTransaction, AccountTransactionSignature, ConsensusStatus, ContractAddress, ContractContext, CryptographicParameters, InstanceInfo, InvokeContractResult, NextAccountNonce, SignedCredentialDeploymentDetails, TransactionStatus, Versioned } from './types';
import { AccountAddress } from './types/accountAddress';

@@ -12,3 +12,8 @@ import Provider from './providers/provider';

getTransactionStatus(transactionHash: string): Promise<TransactionStatus | undefined>;
/**
* @param serializedTransaction the transaction serialized as a base64-encoded string.
*/
private sendRawTransaction;
sendAccountTransaction(accountTransaction: AccountTransaction, signatures: AccountTransactionSignature): Promise<boolean>;
sendCredentialDeployment(credentialDetails: SignedCredentialDeploymentDetails): Promise<boolean>;
getConsensusStatus(): Promise<ConsensusStatus>;

@@ -15,0 +20,0 @@ /**

@@ -43,9 +43,19 @@ "use strict";

}
async sendAccountTransaction(accountTransaction, signatures) {
const serializedAccountTransaction = buffer_1.Buffer.from((0, serialization_1.serializeAccountTransactionForSubmission)(accountTransaction, signatures));
const res = await this.provider.request('sendAccountTransaction', {
transaction: serializedAccountTransaction.toString('base64'),
/**
* @param serializedTransaction the transaction serialized as a base64-encoded string.
*/
async sendRawTransaction(serializedTransaction) {
const res = await this.provider.request('sendTransaction', {
transaction: serializedTransaction,
});
return JSON.parse(res).result || false;
}
async sendAccountTransaction(accountTransaction, signatures) {
const serializedAccountTransaction = buffer_1.Buffer.from((0, serialization_1.serializeAccountTransactionForSubmission)(accountTransaction, signatures));
return this.sendRawTransaction(serializedAccountTransaction.toString('base64'));
}
async sendCredentialDeployment(credentialDetails) {
const serializedDetails = (0, serialization_1.serializeSignedCredentialDeploymentDetailsForSubmission)(credentialDetails);
return this.sendRawTransaction(serializedDetails.toString('base64'));
}
async getConsensusStatus() {

@@ -52,0 +62,0 @@ const response = await this.provider.request('getConsensusStatus');

import Provider, { JsonRpcRequest } from './provider';
import fetch from 'cross-fetch';
export declare class HttpProvider implements Provider {
request: JsonRpcRequest;
constructor(url: string);
/**
* @param internalFetch Fetch function that performs the request. Defaults to using the cross-fetch package.
*/
constructor(url: string, internalFetch?: typeof fetch);
}

@@ -11,3 +11,6 @@ "use strict";

class HttpProvider {
constructor(url) {
/**
* @param internalFetch Fetch function that performs the request. Defaults to using the cross-fetch package.
*/
constructor(url, internalFetch = cross_fetch_1.default) {
this.request = async function (method, params) {

@@ -28,3 +31,3 @@ const request = {

};
const res = await (0, cross_fetch_1.default)(url, options);
const res = await internalFetch(url, options);
if (res.status >= 400) {

@@ -31,0 +34,0 @@ const json = await res.json();

@@ -30,3 +30,3 @@ import { Invoker } from '../types';

}
] | ['sendAccountTransaction', {
] | ['sendTransaction', {
transaction: string;

@@ -33,0 +33,0 @@ }] | ['getAccountInfo', {

import { Buffer } from 'buffer/';
import { AccountTransaction, AccountTransactionSignature, UnsignedCredentialDeploymentInformation, CredentialDeploymentInfo, SchemaVersion, CredentialDeploymentDetails } from './types';
import { AccountTransaction, AccountTransactionSignature, UnsignedCredentialDeploymentInformation, CredentialDeploymentInfo, SchemaVersion, CredentialDeploymentDetails, SignedCredentialDeploymentDetails } from './types';
import { AccountAddress } from './types/accountAddress';

@@ -84,3 +84,3 @@ /**

*/
export declare function serializeInitContractParameters(contractName: string, parameters: any, rawSchema: Buffer, schemaVersion: SchemaVersion): Buffer;
export declare function serializeInitContractParameters(contractName: string, parameters: any, rawSchema: Buffer, schemaVersion?: SchemaVersion): Buffer;
/**

@@ -94,2 +94,4 @@ * @param contractName name of the contract that the update contract transaction will update

*/
export declare function serializeUpdateContractParameters(contractName: string, receiveFunctionName: string, parameters: any, rawSchema: Buffer, schemaVersion: SchemaVersion): Buffer;
export declare function serializeUpdateContractParameters(contractName: string, receiveFunctionName: string, parameters: any, rawSchema: Buffer, schemaVersion?: SchemaVersion): Buffer;
export declare function serializeSignedCredentialDeploymentDetailsForSubmission(credentialDetails: SignedCredentialDeploymentDetails): Buffer;
export declare function getSignedCredentialDeploymentTransactionHash(credentialDetails: SignedCredentialDeploymentDetails): string;

@@ -26,3 +26,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeUpdateContractParameters = exports.serializeInitContractParameters = exports.serializeCredentialDeploymentTransactionForSubmission = exports.getCredentialDeploymentTransactionHash = exports.getCredentialDeploymentSignDigest = exports.getCredentialForExistingAccountSignDigest = exports.serializeCredentialDeploymentInfo = exports.serializeAccountTransactionForSubmission = exports.getAccountTransactionSignDigest = exports.getAccountTransactionHash = exports.serializeAccountTransaction = exports.serializeAccountTransactionSignature = void 0;
exports.getSignedCredentialDeploymentTransactionHash = exports.serializeSignedCredentialDeploymentDetailsForSubmission = exports.serializeUpdateContractParameters = exports.serializeInitContractParameters = exports.serializeCredentialDeploymentTransactionForSubmission = exports.getCredentialDeploymentTransactionHash = exports.getCredentialDeploymentSignDigest = exports.getCredentialForExistingAccountSignDigest = exports.serializeCredentialDeploymentInfo = exports.serializeAccountTransactionForSubmission = exports.getAccountTransactionSignDigest = exports.getAccountTransactionHash = exports.serializeAccountTransaction = exports.serializeAccountTransactionSignature = void 0;
const buffer_1 = require("buffer/");

@@ -333,1 +333,24 @@ const accountTransactions_1 = require("./accountTransactions");

exports.serializeUpdateContractParameters = serializeUpdateContractParameters;
function serializeSignedCredentialDeploymentDetails(credentialDetails) {
const serializedBlockItemKind = (0, serializationHelpers_1.encodeWord8)(types_1.BlockItemKind.CredentialDeploymentKind);
const serializedExpiry = (0, serializationHelpers_1.encodeWord64)(credentialDetails.expiry.expiryEpochSeconds);
const serializedCredentialKind = (0, serializationHelpers_1.encodeWord8)(1);
const serializedInfo = buffer_1.Buffer.from(serializeCredentialDeploymentInfo(credentialDetails.cdi));
return buffer_1.Buffer.concat([
serializedBlockItemKind,
serializedExpiry,
serializedCredentialKind,
serializedInfo,
]);
}
function serializeSignedCredentialDeploymentDetailsForSubmission(credentialDetails) {
const serializedVersion = (0, serializationHelpers_1.encodeWord8)(0);
const serializedDetails = serializeSignedCredentialDeploymentDetails(credentialDetails);
return buffer_1.Buffer.concat([serializedVersion, serializedDetails]);
}
exports.serializeSignedCredentialDeploymentDetailsForSubmission = serializeSignedCredentialDeploymentDetailsForSubmission;
function getSignedCredentialDeploymentTransactionHash(credentialDetails) {
const serializedDetails = serializeSignedCredentialDeploymentDetails(credentialDetails);
return (0, hash_1.sha256)([serializedDetails]).toString('hex');
}
exports.getSignedCredentialDeploymentTransactionHash = getSignedCredentialDeploymentTransactionHash;

@@ -818,2 +818,3 @@ import { AccountAddress } from './types/accountAddress';

TransferWithScheduleWithMemo = 24,
ConfigureBaker = 25,
ConfigureDelegation = 26

@@ -1082,2 +1083,6 @@ }

}
export interface SignedCredentialDeploymentDetails {
expiry: TransactionExpiry;
cdi: CredentialDeploymentInfo;
}
export declare type TypedCredentialDeployment = {

@@ -1107,2 +1112,35 @@ type: 'normal';

}
export declare type IpArData = {
encPrfKeyShare: string;
proofComEncEq: string;
};
export interface IdObjectRequestV1 {
idCredPub: string;
choiceArData: {
arIdentities: number[];
threshold: number;
};
ipArData: Record<string, IpArData>;
idCredSecCommitment: string;
prfKeyCommitmentWithIP: string;
prfKeySharingCoeffCommitments: string[];
proofsOfKnowledge: string;
}
export interface IdRecoveryRequest {
idCredPub: string;
timestamp: bigint;
proof: string;
}
export interface AttributeList {
validTo: string;
createdAt: string;
maxAccounts: number;
chosenAttributes: Record<AttributeKey, string>;
}
export declare type IdentityObjectV1 = {
preIdentityObject: IdObjectRequestV1;
attributeList: AttributeList;
signature: string;
};
export declare type Network = 'Testnet' | 'Mainnet';
export {};

@@ -164,2 +164,3 @@ "use strict";

AccountTransactionType[AccountTransactionType["TransferWithScheduleWithMemo"] = 24] = "TransferWithScheduleWithMemo";
AccountTransactionType[AccountTransactionType["ConfigureBaker"] = 25] = "ConfigureBaker";
AccountTransactionType[AccountTransactionType["ConfigureDelegation"] = 26] = "ConfigureDelegation";

@@ -166,0 +167,0 @@ })(AccountTransactionType = exports.AccountTransactionType || (exports.AccountTransactionType = {}));

{
"name": "@concordium/common-sdk",
"version": "2.3.2",
"version": "2.4.0",
"license": "Apache-2.0",

@@ -42,4 +42,5 @@ "engines": {

"dependencies": {
"@concordium/rust-bindings": "0.2.0",
"@concordium/rust-bindings": "0.3.0",
"@noble/ed25519": "^1.6.0",
"@scure/bip39": "^1.1.0",
"bs58check": "^2.1.2",

@@ -46,0 +47,0 @@ "buffer": "^6.0.3",