@helios-lang/effect 0.4.34 → 0.4.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { Context, Effect } from "effect";
2
2
  import * as Bip32 from "../Crypto/Bip32.js";
3
3
  import * as Bip39 from "../Crypto/Bip39.js";
4
+ import * as Cose from "./Cose/index.js";
4
5
  import * as Address from "./Ledger/Address.js";
5
6
  import * as PubKey from "./Ledger/PubKey.js";
6
7
  import * as Signature from "./Ledger/Signature.js";
@@ -42,6 +43,20 @@ export const Phrase = (phrase, account = 0, subAccount = 0) => Effect.gen(functi
42
43
  addressSync: address,
43
44
  changeAddress: Effect.succeed(address),
44
45
  utxos: utxosAt(address).pipe(Effect.mapError((e) => new Error(e.message))),
46
+ signData: (candidateAddress, data) => Effect.gen(function* () {
47
+ if (Address.stakingCredential(candidateAddress)) {
48
+ return yield* Effect.fail(new Error("given address contains a staking credential but Phrase wallet only supports enterprise addresses"));
49
+ }
50
+ const spendingCredential = Address.spendingCredential(candidateAddress);
51
+ if (spendingCredential._tag != "PubKey" ||
52
+ spendingCredential.hash != spendingPubKeyHash) {
53
+ return yield* Effect.fail(new Error("given address.spendingCredential doesn't correspond to Phrase wallet's spending credential"));
54
+ }
55
+ return {
56
+ signature: Cose.Sign1.sign(candidateAddress, spendingPrivateKey, data),
57
+ key: spendingPublicKey
58
+ };
59
+ }),
45
60
  signTx: (tx) => Effect.succeed([Bip32.sign(spendingPrivateKey)(Tx.hash(tx))])
46
61
  };
47
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Wallet.js","sourceRoot":"","sources":["../../src/Cardano/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAOnE;CAAG;AAEN;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAAyB,EACzB,UAAkB,CAAC,EACnB,aAAqB,CAAC,EACtB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB;;OAEG;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAEzC;;OAEG;IACH,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;QAChD,IAAI,GAAG,KAAK,CAAC,MAAM;QACnB,IAAI,GAAG,KAAK,CAAC,MAAM;QACnB,OAAO,GAAG,KAAK,CAAC,MAAM;QACtB,CAAC;QACD,UAAU;KACX,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG,KAAK,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;QACtC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,kBAAkB;KACzB,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;IAEtC,OAAO;QACL,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7C;QACD,MAAM,EAAE,CAAC,EAAS,EAAE,EAAE,CACpB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAChE,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;AACxC,CAAC,CAAA"}
1
+ {"version":3,"file":"Wallet.js","sourceRoot":"","sources":["../../src/Cardano/Wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/effect",
3
- "version": "0.4.34",
3
+ "version": "0.4.35",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -229,6 +229,6 @@ export interface BabelFeeOptions {
229
229
  */
230
230
  readonly assetClass: AssetClass.AssetClass;
231
231
  }
232
- export declare const build: (options?: BuildOptions) => (b: TxBuilder) => Effect.Effect<Tx.Tx, import("effect/ParseResult").ParseError | Error, Network.IsMainnet | Network.UTxO | Network.Params.params | BalancingWallet>;
232
+ export declare const build: (options?: BuildOptions) => (b: TxBuilder) => Effect.Effect<Tx.Tx, Error | import("effect/ParseResult").ParseError, BalancingWallet | Network.IsMainnet | Network.Params.params | Network.UTxO>;
233
233
  export {};
234
234
  //# sourceMappingURL=TxBuilder.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import { Context, Effect } from "effect";
2
2
  import * as Bip32 from "../Crypto/Bip32.js";
3
3
  import * as Bip39 from "../Crypto/Bip39.js";
4
+ import * as Cose from "./Cose/index.js";
4
5
  import * as Address from "./Ledger/Address.js";
5
6
  import * as Signature from "./Ledger/Signature.js";
6
7
  import * as Tx from "./Ledger/Tx.js";
@@ -61,8 +62,12 @@ export declare const Phrase: (phrase: string | string[], account?: number, subAc
61
62
  } | undefined;
62
63
  };
63
64
  }[], Error, never>;
65
+ signData: (candidateAddress: Address.Address, data: Uint8Array | number[] | string) => Effect.Effect<{
66
+ signature: Cose.Sign1.Sign1;
67
+ key: string & import("effect/Brand").Brand<"Crypto.Bip32.VerificationKey">;
68
+ }, Error, never>;
64
69
  signTx: (tx: Tx.Tx) => Effect.Effect<Bip32.Signature[], never, never>;
65
- }, Bip39.InvalidPhraseLength | Bip39.InvalidWord | Bip39.InvalidChecksum, Network.IsMainnet | Network.UTxOsAt>;
70
+ }, Bip39.InvalidPhraseLength | Bip39.InvalidWord | Bip39.InvalidChecksum, Network.UTxOsAt | Network.IsMainnet>;
66
71
  export declare const Browser: (_handle: unknown) => never;
67
72
  export {};
68
73
  //# sourceMappingURL=Wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wallet.d.ts","sourceRoot":"","sources":["../../src/Cardano/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAE9C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;;mBAK1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;WACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;eAC7B,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC;;AALlE,qBAAa,SAAU,SAAQ,cAO5B;CAAG;AAEN;;;;GAIG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,GAAG,MAAM,EAAE,EACzB,UAAS,MAAU,EACnB,aAAY,MAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCL,EAAE,CAAC,EAAE;8GAGpB,CAAA;AAEJ,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,UAEvC,CAAA"}
1
+ {"version":3,"file":"Wallet.d.ts","sourceRoot":"","sources":["../../src/Cardano/Wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAE9C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;;mBAK1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;WACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;eAC7B,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC;;AALlE,qBAAa,SAAU,SAAQ,cAO5B;CAAG;AAEN;;;;GAIG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,GAAG,MAAM,EAAE,EACzB,UAAS,MAAU,EACnB,aAAY,MAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAoCE,OAAO,CAAC,OAAO,QAC3B,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM;;;;iBAkCzB,EAAE,CAAC,EAAE;8GAGpB,CAAA;AAEJ,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,UAEvC,CAAA"}