Skip to content

Commit

Permalink
Remove any mention of "Kinesis" from identity_wasm (#1524)
Browse files Browse the repository at this point in the history
* Kinesis renaming

* Update bindings/wasm/identity_wasm/examples/src/0_basic/0_create_did.ts

Co-authored-by: wulfraem <[email protected]>

* Update bindings/wasm/identity_wasm/examples/src/0_basic/1_update_did.ts

Co-authored-by: wulfraem <[email protected]>

* Update bindings/wasm/identity_wasm/examples/src/0_basic/3_deactivate_did.ts

Co-authored-by: wulfraem <[email protected]>

* Update bindings/wasm/identity_wasm/src/lib.rs

Co-authored-by: wulfraem <[email protected]>

---------

Co-authored-by: wulfraem <[email protected]>
  • Loading branch information
UMR1352 and wulfraem authored Feb 11, 2025
1 parent aa6c35b commit 634d5be
Show file tree
Hide file tree
Showing 18 changed files with 72 additions and 83 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ import {
JwkMemStore,
JwsAlgorithm,
KeyIdMemStore,
KinesisIdentityClient,
KinesisIdentityClientReadOnly,
IdentityClient,
IdentityClientReadOnly,
Multicontroller,
Storage,
StorageSigner,
} from "@iota/identity-wasm/node";

import { executeTransaction } from "@iota/iota-interaction-ts/lib/iota_client_helpers";
import { bcs } from "@iota/iota-sdk/bcs";
import { IotaClient as KinesisClient } from "@iota/iota-sdk/client";
import { IotaClient } from "@iota/iota-sdk/client";
import { getFaucetHost, requestIotaFromFaucetV0 } from "@iota/iota-sdk/faucet";
import { Transaction } from "@iota/iota-sdk/transactions";
import { IOTA_TYPE_ARG } from "@iota/iota-sdk/utils";
import { IDENTITY_IOTA_PACKAGE_ID, NETWORK_NAME_FAUCET, NETWORK_URL, TEST_GAS_BUDGET } from "../utils_alpha";

async function initializeClients() {
console.log("---------------- Preparing IdentityClient ------------------------");
const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const identityClientReadOnly = await KinesisIdentityClientReadOnly.createWithPkgId(kinesisClient, IDENTITY_IOTA_PACKAGE_ID);
const iotaClient = new IotaClient({ url: NETWORK_URL });
const identityClientReadOnly = await IdentityClientReadOnly.createWithPkgId(iotaClient, IDENTITY_IOTA_PACKAGE_ID);

// create new storage
const storage: Storage = new Storage(new JwkMemStore(), new KeyIdMemStore());
Expand All @@ -41,27 +41,27 @@ async function initializeClients() {

// create signer from storage
let signer = new StorageSigner(storage, keyId, publicKeyJwk);
const identityClient = await KinesisIdentityClient.create(identityClientReadOnly, signer);
const identityClient = await IdentityClient.create(identityClientReadOnly, signer);

await requestIotaFromFaucetV0({
host: getFaucetHost(NETWORK_NAME_FAUCET),
recipient: identityClient.senderAddress(),
});

const balance = await kinesisClient.getBalance({ owner: identityClient.senderAddress() });
const balance = await iotaClient.getBalance({ owner: identityClient.senderAddress() });
if (balance.totalBalance === "0") {
throw new Error("Balance is still 0");
} else {
console.log(`Received gas from faucet: ${balance.totalBalance} for owner ${identityClient.senderAddress()}`);
}

return { kinesisClient, identityClient };
return { iotaClient, identityClient };
}


async function testIdentityClientReadOnly() {
const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const identityClient = await KinesisIdentityClientReadOnly.createWithPkgId(kinesisClient, IDENTITY_IOTA_PACKAGE_ID);
const iotaClient = new IotaClient({ url: NETWORK_URL });
const identityClient = await IdentityClientReadOnly.createWithPkgId(iotaClient, IDENTITY_IOTA_PACKAGE_ID);

console.log("\n-------------- Start testIdentityClientReadOnly -------------------------------");
console.log(`networkName: ${identityClient.network()}`);
Expand All @@ -79,8 +79,8 @@ async function testIdentityClientReadOnly() {


async function testIdentityClient(
identityClient: KinesisIdentityClient,
kinesisClient: KinesisClient,
identityClient: IdentityClient,
iotaClient: IotaClient,
): Promise<void> {
console.log("\n-------------- Start testIdentityClient -------------------------------");
console.log(`senderPublicKey: ${identityClient.senderPublicKey()}`);
Expand All @@ -100,7 +100,7 @@ async function testIdentityClient(
recipient: identityClient.senderAddress(),
});

const balance = await kinesisClient.getBalance({ owner: identityClient.senderAddress() });
const balance = await iotaClient.getBalance({ owner: identityClient.senderAddress() });
if (balance.totalBalance === "0") {
throw new Error("Balance is still 0");
} else {
Expand Down Expand Up @@ -173,7 +173,7 @@ async function signerTest(): Promise<void> {
console.dir({ signed });
}

async function testExecuteTransaction(kinesisClient: KinesisClient) {
async function testExecuteTransaction(iotaClient: IotaClient) {
console.log("---------------- testing executeTransaction ------------------------");

// create new storage
Expand All @@ -198,7 +198,7 @@ async function testExecuteTransaction(kinesisClient: KinesisClient) {
});

// try to craft tx with js api
let coins = await kinesisClient.getCoins({
let coins = await iotaClient.getCoins({
owner: address,
coinType: IOTA_TYPE_ARG,
});
Expand All @@ -211,10 +211,10 @@ async function testExecuteTransaction(kinesisClient: KinesisClient) {
tx.setSenderIfNotSet(address);

let response = await executeTransaction(
kinesisClient,
iotaClient,
address,
publicJwk,
await tx.build({ client: kinesisClient }),
await tx.build({ client: iotaClient }),
signer,
);
console.dir(response);
Expand All @@ -223,7 +223,7 @@ async function testExecuteTransaction(kinesisClient: KinesisClient) {

/** Test API usage */
export async function testApiCall(): Promise<void> {
const { kinesisClient, identityClient } = await initializeClients();
const { iotaClient, identityClient } = await initializeClients();

try {
await testIdentityClientReadOnly();
Expand All @@ -233,7 +233,7 @@ export async function testApiCall(): Promise<void> {
}

try {
await testIdentityClient(identityClient, kinesisClient);
await testIdentityClient(identityClient, iotaClient);
} catch (err) {
const suffix = err instanceof Error ? `${err.message}; ${err.stack}` : `${err}`;
console.error(`identity client binding test failed: ${suffix}`);
Expand All @@ -254,7 +254,7 @@ export async function testApiCall(): Promise<void> {
}

try {
await testExecuteTransaction(kinesisClient);
await testExecuteTransaction(iotaClient);
} catch (err) {
const suffix = err instanceof Error ? `${err.message}; ${err.stack}` : `${err}`;
console.error(`signer binding test failed: ${suffix}`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0

import { IotaDID } from '@iota/identity-wasm/node';
import { IotaClient as KinesisClient } from "@iota/iota-sdk/client";
import { IotaClient } from "@iota/iota-sdk/client";
import {
createDocumentForNetwork,
getClientAndCreateAccount,
Expand All @@ -13,8 +13,8 @@ import {
/** Demonstrate how to create a DID Document and publish it. */
export async function createIdentity(): Promise<void> {
// create new client to connect to IOTA network
const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const network = await kinesisClient.getChainIdentifier();
const iotaClient = new IotaClient({ url: NETWORK_URL });
const network = await iotaClient.getChainIdentifier();

const storage = getMemstorage();
// TODO: check if we can update storage implementation to a non-owning variant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
Timestamp,
VerificationMethod,
} from "@iota/identity-wasm/node";
import { IotaClient as KinesisClient } from "@iota/iota-sdk/client";
import { IotaClient } from "@iota/iota-sdk/client";
import {
createDocumentForNetwork,
getClientAndCreateAccount,
Expand All @@ -23,8 +23,8 @@ import {
/** Demonstrates how to update a DID document in an existing Alias Output. */
export async function updateIdentity() {
// create new clients and create new account
const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const network = await kinesisClient.getChainIdentifier();
const iotaClient = new IotaClient({ url: NETWORK_URL });
const network = await iotaClient.getChainIdentifier();
const storage = getMemstorage();
const [unpublished, vmFragment1] = await createDocumentForNetwork(storage, network);
const identityClient = await getClientAndCreateAccount(storage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0

import { IotaDID } from "@iota/identity-wasm/node";
import { IotaClient as KinesisClient } from "@iota/iota-sdk/client";
import { IotaClient } from "@iota/iota-sdk/client";
import {
createDocumentForNetwork,
getClientAndCreateAccount,
Expand All @@ -14,8 +14,8 @@ import {
/** Demonstrates how to deactivate a DID in an Alias Output. */
export async function deactivateIdentity() {
// create new clients and create new account
const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const network = await kinesisClient.getChainIdentifier();
const iotaClient = new IotaClient({ url: NETWORK_URL });
const network = await iotaClient.getChainIdentifier();
const storage = getMemstorage();
const [unpublished, vmFragment1] = await createDocumentForNetwork(storage, network);
const identityClient = await getClientAndCreateAccount(storage);
Expand Down
20 changes: 10 additions & 10 deletions bindings/wasm/identity_wasm/examples/src/utils_alpha.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ import {
JwkMemStore,
JwsAlgorithm,
KeyIdMemStore,
KinesisIdentityClient,
KinesisIdentityClientReadOnly,
IdentityClient,
IdentityClientReadOnly,
MethodScope,
Storage,
StorageSigner,
} from "@iota/identity-wasm/node";
import { IotaClient as KinesisClient } from "@iota/iota-sdk/client";
import { IotaClient } from "@iota/iota-sdk/client";
import { getFaucetHost, requestIotaFromFaucetV0 } from "@iota/iota-sdk/faucet";

export const IDENTITY_IOTA_PACKAGE_ID =
Expand Down Expand Up @@ -41,15 +41,15 @@ export async function createDocumentForNetwork(storage: Storage, network: string
return [unpublished, verificationMethodFragment];
}

export async function getClientAndCreateAccount(storage: Storage): Promise<KinesisIdentityClient> {
export async function getClientAndCreateAccount(storage: Storage): Promise<IdentityClient> {
if (!IDENTITY_IOTA_PACKAGE_ID) {
throw new Error(`IDENTITY_IOTA_PACKAGE_ID env variable must be provided to run the examples`);
}

const kinesisClient = new KinesisClient({ url: NETWORK_URL });
const iotaClient = new IotaClient({ url: NETWORK_URL });

const identityClientReadOnly = await KinesisIdentityClientReadOnly.createWithPkgId(
kinesisClient, IDENTITY_IOTA_PACKAGE_ID);
const identityClientReadOnly = await IdentityClientReadOnly.createWithPkgId(
iotaClient, IDENTITY_IOTA_PACKAGE_ID);

// generate new key
let generate = await storage.keyStorage().generate("Ed25519", JwsAlgorithm.EdDSA);
Expand All @@ -61,14 +61,14 @@ export async function getClientAndCreateAccount(storage: Storage): Promise<Kines

// create signer from storage
let signer = new StorageSigner(storage, keyId, publicKeyJwk);
const identityClient = await KinesisIdentityClient.create(identityClientReadOnly, signer);
const identityClient = await IdentityClient.create(identityClientReadOnly, signer);

await requestIotaFromFaucetV0({
host: getFaucetHost(NETWORK_NAME_FAUCET),
recipient: identityClient.senderAddress(),
});

const balance = await kinesisClient.getBalance({ owner: identityClient.senderAddress() });
const balance = await iotaClient.getBalance({ owner: identityClient.senderAddress() });
if (balance.totalBalance === "0") {
throw new Error("Balance is still 0");
} else {
Expand All @@ -79,7 +79,7 @@ export async function getClientAndCreateAccount(storage: Storage): Promise<Kines
}

export async function createDidDocument(
identityClient: KinesisIdentityClient,
identityClient: IdentityClient,
unpublished: IotaDocument,
): Promise<IotaDocument> {
let tx = identityClient
Expand Down
4 changes: 2 additions & 2 deletions bindings/wasm/identity_wasm/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ impl JsValueResult {
self.stringify_error().map_err(identity_iota::iota::Error::JsError)
}

pub fn to_kinesis_client_error(self) -> StdResult<JsValue, identity_iota::iota::rebased::Error> {
pub fn to_iota_client_error(self) -> StdResult<JsValue, identity_iota::iota::rebased::Error> {
self
.stringify_error()
.map_err(|e| identity_iota::iota::rebased::Error::FfiError(e.to_string()))
Expand Down Expand Up @@ -361,7 +361,7 @@ impl<T: for<'a> serde::Deserialize<'a>> From<JsValueResult> for KeyIdStorageResu

impl<T: for<'a> serde::Deserialize<'a>> From<JsValueResult> for StdResult<T, identity_iota::iota::rebased::Error> {
fn from(result: JsValueResult) -> Self {
result.to_kinesis_client_error().and_then(|js_value| {
result.to_iota_client_error().and_then(|js_value| {
js_value
.into_serde()
.map_err(|e| identity_iota::iota::rebased::Error::FfiError(e.to_string()))
Expand Down
3 changes: 1 addition & 2 deletions bindings/wasm/identity_wasm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ pub mod verification;

#[cfg(feature = "dummy-client")]
// Currently it's unclear if this module will be removed or can be used for integration or unit tests.
// TODO manage the final location of the kinesis TS module
pub(crate) mod kinesis;
pub(crate) mod rebased;
#[cfg(feature = "dummy-client")]
// Remove this module when working on [Issue #1445 Replace mocked Identity client with real Identity client]
pub(crate) mod obsolete;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ use super::client_dummy::ProposalBuilder;
use super::types::into_sdk_type;
use super::types::WasmIotaAddress;
use super::types::WasmObjectID;
use super::WasmKinesisIdentityClient;
use super::WasmIdentityClient;
use super::WasmProposal;

/// Helper type for `WasmIdentityBuilder::controllers`.
Expand Down Expand Up @@ -82,7 +82,7 @@ impl WasmOnChainIdentity {
#[wasm_bindgen(js_name = getHistory, skip_typescript)] // ts type in custom section below
pub async fn get_history(
&self,
client: WasmKinesisIdentityClient,
client: WasmIdentityClient,
last_version: Option<WasmIotaObjectData>,
page_size: Option<usize>,
) -> Result<JsValue> {
Expand Down Expand Up @@ -156,7 +156,7 @@ impl WasmProposalBuilder {
Self(self.0.gas_budget(amount))
}

pub async fn finish(self, client: &WasmKinesisIdentityClient, signer: &DummySigner) -> Result<Option<WasmProposal>> {
pub async fn finish(self, client: &WasmIdentityClient, signer: &DummySigner) -> Result<Option<WasmProposal>> {
unimplemented!("WasmProposalBuilder::finish");
// self
// .0
Expand Down Expand Up @@ -223,10 +223,7 @@ pub struct WasmCreateIdentityTx(pub(crate) CreateIdentityTx);
#[wasm_bindgen(js_class = CreateIdentityTx)]
impl WasmCreateIdentityTx {
#[wasm_bindgen]
pub async fn execute(
self,
client: &WasmKinesisIdentityClient,
) -> Result<WasmTransactionOutputInternalOnChainIdentity> {
pub async fn execute(self, client: &WasmIdentityClient) -> Result<WasmTransactionOutputInternalOnChainIdentity> {
let output = self.0.execute(&client.0).await.map_err(wasm_error)?;
Ok(WasmTransactionOutputInternalOnChainIdentity(output))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pub fn into_sdk_type<T: DeserializeOwned, W: Into<JsValue>>(wasm_type_instance:
// TODO: Replace all console_log! usages by proper Error management and Result types.
// Use console_log! only for debug purposes
console_log!(
"[identity_wasm::kinesis::types - fn into_sdk_type]\n js_value: {:?}\n Error: {:?}",
"[identity_wasm::rebased::types - fn into_sdk_type]\n js_value: {:?}\n Error: {:?}",
js_value,
e
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use iota_interaction_ts::AdapterNativeResponse;

use super::IdentityContainer;
use super::WasmIdentityBuilder;
use super::WasmKinesisIdentityClientReadOnly;
use super::WasmIdentityClientReadOnly;

use crate::error::wasm_error;
use crate::iota::IotaDocumentLock;
Expand All @@ -44,18 +44,15 @@ pub struct WasmIotaTransactionBlockResponseEssence {
pub effects_created: Option<Vec<WasmOwnedObjectRef>>,
}

#[wasm_bindgen(js_name = KinesisIdentityClient)]
pub struct WasmKinesisIdentityClient(pub(crate) IdentityClient<WasmTransactionSigner>);
#[wasm_bindgen(js_name = IdentityClient)]
pub struct WasmIdentityClient(pub(crate) IdentityClient<WasmTransactionSigner>);

#[wasm_bindgen(js_class = KinesisIdentityClient)]
impl WasmKinesisIdentityClient {
#[wasm_bindgen(js_class = IdentityClient)]
impl WasmIdentityClient {
#[wasm_bindgen(js_name = create)]
pub async fn new(
client: WasmKinesisIdentityClientReadOnly,
signer: WasmTransactionSigner,
) -> Result<WasmKinesisIdentityClient, JsError> {
pub async fn new(client: WasmIdentityClientReadOnly, signer: WasmTransactionSigner) -> Result<WasmIdentityClient, JsError> {
let inner_client = IdentityClient::new(client.0, signer).await?;
Ok(WasmKinesisIdentityClient(inner_client))
Ok(WasmIdentityClient(inner_client))
}

#[wasm_bindgen(js_name = senderPublicKey)]
Expand Down Expand Up @@ -166,7 +163,7 @@ pub struct WasmPublishDidTx(pub(crate) PublishDidTx);
#[wasm_bindgen(js_class = PublishDidTx)]
impl WasmPublishDidTx {
#[wasm_bindgen(js_name = execute)]
pub async fn execute(self, client: &WasmKinesisIdentityClient) -> Result<WasmTransactionOutputPublishDid, JsValue> {
pub async fn execute(self, client: &WasmIdentityClient) -> Result<WasmTransactionOutputPublishDid, JsValue> {
let output = self.0.execute(&client.0).await.map_err(wasm_error)?;
Ok(WasmTransactionOutputPublishDid(output))
}
Expand Down
Loading

0 comments on commit 634d5be

Please sign in to comment.