Skip to content
  1. May 16, 2020
    • Amaury Martiny's avatar
      chore(release): 2.0.0 · ddcc1219
      Amaury Martiny authored
      v2.0.0
      ddcc1219
    • Amaury Martiny's avatar
      refactor!: Pass mandatory registry everywhere (#141) · bd14e848
      Amaury Martiny authored
      BREAKING CHANGE:
      
      This refactor breaks compatibility with v1, as all functions now require a `{ metadataRpc?, registry }` last argument.
      
      #### Rationale
      
      In v1, by not passing any last argument, we implicitly used Kusama's most recent TypeRegistry. This was a handy shortcut, but might create hard-to-debug issues down the road (e.g. using another chain, or using Kusama with an incompatible spec version).
      
      In v2, we never default to Kusama anymore, and always require the user passing the registry (and sometimes the metadata too, if needed, see docs for details).
      
      Example 1:
      
      ```diff
      + // Get Kusama's registry at `specVersion`
      + const registry = getRegistry('Kusama', 'kusama', specVersion);
      
      const unsigned = methods.balances.transfer(
        { dest: '1F...', value: 23 },
        {
          // other info about tx
      -    metadataRpc: metadataRpc,
      - }
      +  }, {
      +    metadataRpc: metadataRpc,
      +    registry: registry
      +  }
      );
      ```
      
      Example 2:
      
      ```diff
      const unsigned = {...};
      const signature = '...';
      
      + // Get Kusama's registry at `specVersion`
      + const registry = getRegistry('Kusama', 'kusama', unsigned.specVersion);
      
      - const signed = createSigned(unsigned, signature);
      + const signed = createSigned(unsigned, signature, {
      +    metadataRpc: unsigned.metadata,
      +    registry,
      + });
      ```
      
      Here is the full list of breaking changes:
      - `decode` function taking 3 arguments was deprecated in v1, in favor or 2 arguments. In v2, `decode` takes exactly 2 arguments.
      - `createSigningPayload`, `createSignedTx`, `methods.*.*` functions all take a mandatory last argument `{ metadataRpc?, registry }`. Note that the `metadata` field has been renamed to `metadataRpc`. Whether a function needs `metadataRpc` is documented for each function.
      - `deriveAddress`'s 2nd argument `ss58Format` is now mandatory, and does not default to Kusama's prefix anymore.
      bd14e848
  2. May 11, 2020
  3. May 04, 2020
  4. Apr 30, 2020
  5. Apr 28, 2020
  6. Apr 27, 2020
  7. Apr 21, 2020
  8. Apr 20, 2020
  9. Apr 13, 2020
  10. Apr 06, 2020
  11. Apr 01, 2020
  12. Mar 31, 2020
  13. Mar 30, 2020