@sorandomains/owner 0.5.0 → 0.6.0

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.
package/README.md CHANGED
@@ -1,9 +1,18 @@
1
1
  # @sorandomains/owner
2
2
 
3
- Version 0.5.0 targets Stellar SDK17 (`>=17 <18`). ASCII names
3
+ > Native muxed release. The testnet deployment below was verified on chain at
4
+ > ledger 4521644 on 5 September 2026 (18:10 UTC). See the
5
+ > [release status](https://docs.soran.domains/reference/release-status) for package and service availability.
6
+
7
+
8
+ Version 0.6.0 targets Stellar SDK17 (`>=17 <18`). ASCII names
4
9
  and labels are validated before lowercase normalization; Unicode lookalikes are
5
10
  rejected. Writes continue to target the owning Registry/Registrar/Resolver. Universal
6
- Lookup is the read entry point in `@sorandomains/lookup` 0.5.0.
11
+ Lookup is the read entry point in `@sorandomains/lookup` 0.6.0.
12
+
13
+ Ownership, issuer, holder and treasury inputs remain G/C account or contract
14
+ addresses. Muxed M addresses are payment destinations only: issue the name to its
15
+ actual G/C holder, then that holder can call Holder `setPayment` to publish M.
7
16
 
8
17
  Run your Soran namespace on Stellar, programmatically. Issue names to your
9
18
  users, manage their lifecycle, transfer the namespace, and — when you are
@@ -76,11 +85,11 @@ Docs: <https://github.com/SoranDomains/docs> · License: MIT
76
85
 
77
86
  ## Verified testnet deployment
78
87
 
79
- Verified on 2026-09-05 at ledger 4515471. Network passphrase: `Test SDF Network ; September 2015`.
88
+ Verified on 5 September 2026 at ledger **4521644** (18:10 UTC). Network passphrase: `Test SDF Network ; September 2015`.
80
89
 
81
90
  | Contract | Address |
82
91
  |---|---|
83
- | Registry | `CBSORANXTUFKBZK74AAM2ZM5OX2V7PIXUADM3HGP6WU3IDN7M3YEEDLU` |
92
+ | Registry | `CASORANI5CN2NJFEO2MGTRDA35AOEF3D3OCVBWN3FS6B6FXNQ74RTJ7H` |
84
93
 
85
94
  Mainnet has no deployment preset. Custom networks must supply their own verified
86
95
  addresses. Universal Lookup upgrades remain immediately executable; an address
package/dist/index.d.ts CHANGED
@@ -40,7 +40,7 @@ export declare const DEPLOYMENTS: {
40
40
  readonly testnet: {
41
41
  readonly rpcUrl: "https://soroban-testnet.stellar.org";
42
42
  readonly passphrase: string;
43
- readonly registryId: "CBSORANXTUFKBZK74AAM2ZM5OX2V7PIXUADM3HGP6WU3IDN7M3YEEDLU";
43
+ readonly registryId: "CASORANI5CN2NJFEO2MGTRDA35AOEF3D3OCVBWN3FS6B6FXNQ74RTJ7H";
44
44
  };
45
45
  };
46
46
  /**
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@
35
35
  * that one only. The few reads here (policy, pending transfers, records) exist
36
36
  * to support write flows.
37
37
  */
38
- import { Account, Address, BASE_FEE, Contract, Keypair, Networks, Operation, TransactionBuilder, hash, nativeToScVal, rpc, scValToNative, xdr, } from "@stellar/stellar-sdk";
38
+ import { Account, Address, BASE_FEE, Contract, Keypair, Networks, Operation, StrKey, TransactionBuilder, hash, nativeToScVal, rpc, scValToNative, xdr, } from "@stellar/stellar-sdk";
39
39
  /** Contract events from a transaction's meta, across meta versions (v3 puts
40
40
  * them on sorobanMeta; v4 nests them per-operation and in tx events). */
41
41
  function extractContractEvents(meta) {
@@ -94,7 +94,7 @@ export const DEPLOYMENTS = {
94
94
  passphrase: Networks.TESTNET,
95
95
  // The immutable Registry. The Registrar for a namespace is discovered on
96
96
  // chain via `registrar_of(node)` — never configured by hand.
97
- registryId: "CBSORANXTUFKBZK74AAM2ZM5OX2V7PIXUADM3HGP6WU3IDN7M3YEEDLU",
97
+ registryId: "CASORANI5CN2NJFEO2MGTRDA35AOEF3D3OCVBWN3FS6B6FXNQ74RTJ7H",
98
98
  },
99
99
  };
100
100
  /** A TxSigner over a raw secret key — for backends and scripts. */
@@ -236,7 +236,11 @@ function namehash(namespace) {
236
236
  return new Uint8Array(hash(concatBytes(new Uint8Array(32), labelHash)));
237
237
  }
238
238
  const labelArg = (label) => nativeToScVal(utf8(label), { type: "bytes" });
239
- const addrArg = (address) => nativeToScVal(address, { type: "address" });
239
+ const addrArg = (address) => {
240
+ if (!StrKey.isValidEd25519PublicKey(address) && !StrKey.isValidContract(address))
241
+ throw new OwnerError("ownership and operator addresses must be G or C; muxed M is a payment destination only");
242
+ return nativeToScVal(address, { type: "address" });
243
+ };
240
244
  const nodeArg = (node) => nativeToScVal(node, { type: "bytes" });
241
245
  function toHex(v) {
242
246
  if (!(v instanceof Uint8Array)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sorandomains/owner",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Run your Soran namespace on Stellar \u2014 issue names, manage lifecycle, transfer, and walk the one-way permanence door.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",