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)
    );
    stateDiagram-v2
    [*] --> IDLE[0]

    IDLE[0] --> PROPOSE[1] : Start Transfer
    IDLE[0] --> END[5] : Error Starting Transfer

    PROPOSE[1] --> SIGN[2] : Proposal Created
    PROPOSE[1] --> END[5] : Policy Breach

    SIGN[2] --> COMBINE[3] : collected_signatures >= signature_threshold
    SIGN[2] --> END[5] : Error Signing

    COMBINE[3] --> BROADCAST[4] : Signatures Combined
    COMBINE[3] --> END[5] : Error Combining

    BROADCAST[4] --> END[5] : Transaction Broadcasted

    END[5] --> [*]