salt-sdk
    Preparing search index...

    salt-sdk

    Salt SDK

    In order to use the sdk please visit https://testnet.salt.space. Once you're on Salt please create or join an Organisation and create an account. To get started with the SDK, check out the Salt class.

    import { Salt } from 'salt-sdk';
    import { ethers } from 'ethers';

    // ARBITRUM SEPOLIA RPC in TESTNET or ARBITRUM ONE RPC in mainnet
    const orchestration_network_provider =
    new ethers.providers.StaticJsonRpcProvider({
    url: '',
    skipFetchSetup: true,
    });
    // EVM NETWORK RPC WHERE YOU WISH TO BROADCAST
    const broadcasting_network_provider =
    new ethers.providers.StaticJsonRpcProvider({
    url: '',
    skipFetchSetup: true,
    });

    const wallet = new ethers.Wallet('');

    const signer = wallet.connect(orchestration_network_provider);

    const sdk = new Salt({ environment: 'TESTNET' });
    await sdk.authenticate(signer);

    const orgs = await sdk.getOrganisations();
    const accounts = await sdk.getAccounts(orgs[0]._id);

    const transactionObj = await sdk.transfer({
    accountId: accounts[0].id,
    to: '0xaD94c511350Cced6DcffCcC34D36558Db86a42A8',
    value: '0.0001',
    chainId: broadcasting_network_provider.network.chainId,
    decimals: 18,
    type: TransferType.Native,
    signer: signer,
    sendingProvider: broadcasting_network_provider,
    });

    //subscribe to state transition events

    transactionObj.onPropose((data) => console.log(data));
    transactionObj.onSign((data) => console.log(data));
    transactionObj.onCombine((data) => console.log(data));
    transactionObj.onBroadcast((data) => console.log(data));
    transactionObj.onEnd((data) => console.log(data));
    transactionObj.onTransition(4, 5, (data) =>
    console.log('BROADCAST->END:', data)
    );

    Development

    See ARCHITECTURE.md for more details.