@rango-dev/wallets-core 0.40.1-next.11 → 0.40.1-next.13

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.
Files changed (43) hide show
  1. package/dist/hub/store/events.d.ts +54 -0
  2. package/dist/hub/store/events.d.ts.map +1 -0
  3. package/dist/hub/store/extend.d.ts +14 -0
  4. package/dist/hub/store/extend.d.ts.map +1 -0
  5. package/dist/hub/store/mod.d.ts +3 -1
  6. package/dist/hub/store/mod.d.ts.map +1 -1
  7. package/dist/hub/store/mod.js +2 -0
  8. package/dist/hub/store/mod.js.map +7 -0
  9. package/dist/hub/store/namespaces.d.ts +10 -7
  10. package/dist/hub/store/namespaces.d.ts.map +1 -1
  11. package/dist/hub/store/providers.d.ts +9 -5
  12. package/dist/hub/store/providers.d.ts.map +1 -1
  13. package/dist/hub/store/store.d.ts +2 -1
  14. package/dist/hub/store/store.d.ts.map +1 -1
  15. package/dist/legacy/mod.js +1 -1
  16. package/dist/legacy/mod.js.map +2 -2
  17. package/dist/legacy/types.d.ts +18 -15
  18. package/dist/legacy/types.d.ts.map +1 -1
  19. package/dist/legacy/wallet.d.ts +5 -3
  20. package/dist/legacy/wallet.d.ts.map +1 -1
  21. package/dist/mod.js +1 -1
  22. package/dist/mod.js.map +4 -4
  23. package/dist/namespaces/common/mod.js +1 -1
  24. package/dist/namespaces/common/mod.js.map +1 -1
  25. package/dist/namespaces/evm/builders.d.ts.map +1 -1
  26. package/dist/namespaces/evm/mod.js +1 -1
  27. package/dist/namespaces/evm/mod.js.map +3 -3
  28. package/dist/namespaces/solana/builders.d.ts.map +1 -1
  29. package/dist/namespaces/solana/mod.js +1 -1
  30. package/dist/namespaces/solana/mod.js.map +3 -3
  31. package/dist/wallets-core.build.json +1 -1
  32. package/package.json +6 -2
  33. package/src/hub/store/events.ts +89 -0
  34. package/src/hub/store/extend.ts +125 -0
  35. package/src/hub/store/mod.ts +14 -1
  36. package/src/hub/store/namespaces.ts +102 -19
  37. package/src/hub/store/providers.ts +33 -9
  38. package/src/hub/store/store.test.ts +1 -1
  39. package/src/hub/store/store.ts +6 -2
  40. package/src/legacy/types.ts +24 -17
  41. package/src/legacy/wallet.ts +12 -6
  42. package/src/namespaces/evm/builders.ts +6 -2
  43. package/src/namespaces/solana/builders.ts +6 -2
@@ -59,8 +59,10 @@ export declare enum Networks {
59
59
  UMEE = "UMEE",
60
60
  STARKNET = "STARKNET",
61
61
  TON = "TON",
62
+ BASE = "BASE",
62
63
  Unknown = "Unkown"
63
64
  }
65
+ type InstanceType = any;
64
66
  export type NamespaceData = {
65
67
  namespace: Namespace;
66
68
  derivationPath?: string;
@@ -115,10 +117,10 @@ export type State = {
115
117
  export type ConnectResult = {
116
118
  accounts: string[] | null;
117
119
  network: Network | null;
118
- provider: any;
120
+ provider: InstanceType;
119
121
  };
120
122
  export type Providers = {
121
- [type in WalletType]?: any;
123
+ [type in WalletType]?: InstanceType;
122
124
  };
123
125
  export declare enum Events {
124
126
  CONNECTED = "connected",
@@ -126,7 +128,8 @@ export declare enum Events {
126
128
  REACHABLE = "reachable",
127
129
  INSTALLED = "installed",
128
130
  ACCOUNTS = "accounts",
129
- NETWORK = "network"
131
+ NETWORK = "network",
132
+ NAMESPACE_DISCONNECTED = "namespace_disconnected"
130
133
  }
131
134
  export type ProviderConnectResult = {
132
135
  accounts: string[];
@@ -134,7 +137,7 @@ export type ProviderConnectResult = {
134
137
  };
135
138
  export type GetInstanceOptions = {
136
139
  network?: Network;
137
- currentProvider: any;
140
+ currentProvider: InstanceType;
138
141
  meta: BlockchainMeta[];
139
142
  getState: () => WalletState;
140
143
  /**
@@ -146,21 +149,21 @@ export type GetInstanceOptions = {
146
149
  force?: boolean;
147
150
  updateChainId: (chainId: number | string) => void;
148
151
  };
149
- export type GetInstance = (() => any) | ((options: GetInstanceOptions) => Promise<any>);
150
- export type TryGetInstance = (() => any) | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<any>);
152
+ export type GetInstance = (() => InstanceType) | ((options: GetInstanceOptions) => Promise<InstanceType>);
153
+ export type TryGetInstance = (() => InstanceType) | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<InstanceType>);
151
154
  export type Connect = (options: {
152
- instance: any;
155
+ instance: InstanceType;
153
156
  network?: Network;
154
157
  meta: BlockchainMeta[];
155
158
  namespaces?: NamespaceData[];
156
159
  }) => Promise<ProviderConnectResult | ProviderConnectResult[]>;
157
160
  export type Disconnect = (options: {
158
- instance: any;
161
+ instance: InstanceType;
159
162
  destroyInstance: () => void;
160
163
  }) => Promise<void>;
161
164
  type CleanupSubscribe = () => void;
162
165
  export type Subscribe = (options: {
163
- instance: any;
166
+ instance: InstanceType;
164
167
  state: WalletState;
165
168
  meta: BlockchainMeta[];
166
169
  updateChainId: (chainId: string) => void;
@@ -169,7 +172,7 @@ export type Subscribe = (options: {
169
172
  disconnect: () => void;
170
173
  }) => CleanupSubscribe | void;
171
174
  export type SwitchNetwork = (options: {
172
- instance: any;
175
+ instance: InstanceType;
173
176
  network: Network;
174
177
  meta: BlockchainMeta[];
175
178
  newInstance?: TryGetInstance;
@@ -177,17 +180,17 @@ export type SwitchNetwork = (options: {
177
180
  updateChainId: (chainId: string) => void;
178
181
  }) => Promise<void>;
179
182
  export type Suggest = (options: {
180
- instance: any;
183
+ instance: InstanceType;
181
184
  network: Network;
182
185
  meta: BlockchainMeta[];
183
186
  }) => Promise<void>;
184
187
  export type CanSwitchNetwork = (options: {
185
188
  network: Network;
186
189
  meta: BlockchainMeta[];
187
- provider: any;
190
+ provider: InstanceType;
188
191
  }) => boolean;
189
192
  export type CanEagerConnect = (options: {
190
- instance: any;
193
+ instance: InstanceType;
191
194
  meta: BlockchainMeta[];
192
195
  }) => Promise<boolean>;
193
196
  export type EagerConnectResult<I = unknown> = {
@@ -197,12 +200,12 @@ export type EagerConnectResult<I = unknown> = {
197
200
  };
198
201
  export interface WalletActions {
199
202
  connect: Connect;
200
- getInstance: any;
203
+ getInstance: InstanceType;
201
204
  disconnect?: Disconnect;
202
205
  subscribe?: Subscribe;
203
206
  suggest?: Suggest;
204
207
  switchNetwork?: SwitchNetwork;
205
- getSigners: (provider: any) => Promise<SignerFactory>;
208
+ getSigners: (provider: InstanceType) => Promise<SignerFactory>;
206
209
  canSwitchNetworkTo?: CanSwitchNetwork;
207
210
  canEagerConnect?: CanEagerConnect;
208
211
  getWalletInfo(allBlockChains: BlockchainMeta[]): WalletInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { EagerConnectResult, NamespaceData, Network, WalletActions, WalletConfig, WalletType } from './types.js';
2
+ import type { Namespace } from '../namespaces/common/types.js';
2
3
  import type { BlockchainMeta } from 'rango-types';
3
4
  import { Events } from './types.js';
4
5
  export type EventHandler = (type: WalletType, event: Events, value: any, coreState: State, info: EventInfo) => void;
@@ -6,6 +7,7 @@ export type EventInfo = {
6
7
  supportedBlockchains: BlockchainMeta[];
7
8
  isContractWallet: boolean;
8
9
  isHub: boolean;
10
+ namespace?: Namespace;
9
11
  };
10
12
  export interface State {
11
13
  connected: boolean;
@@ -42,11 +44,11 @@ declare class Wallet<InstanceType = any> {
42
44
  }>;
43
45
  disconnect(): Promise<void>;
44
46
  eagerConnect(): Promise<EagerConnectResult<InstanceType>>;
45
- getSigners(provider: any): Promise<import("rango-types").SignerFactory>;
47
+ getSigners(provider: InstanceType): Promise<import("rango-types").SignerFactory>;
46
48
  getWalletInfo(allBlockChains: BlockchainMeta[]): import("./types.js").WalletInfo;
47
- canSwitchNetworkTo(network: Network, provider: any): boolean;
49
+ canSwitchNetworkTo(network: Network, provider: InstanceType): boolean;
48
50
  onInit(): void;
49
- setProvider(value: any): void;
51
+ setProvider(value: InstanceType | null): void;
50
52
  setInfo(info: Partial<EventInfo>): void;
51
53
  setHandler(handler: EventHandler): void;
52
54
  getState(): State;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/legacy/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,SAAS,KACZ,IAAI,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG;IACtB,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,cAAM,MAAM,CAAC,YAAY,GAAG,GAAG;IACtB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAwB9C,iBAAiB,CAAC,OAAO,EAAE,OAAO;;;;;IAWlC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE;;;;;IAqKvD,UAAU;IAeV,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA0BzD,UAAU,CAAC,QAAQ,EAAE,GAAG;IAG9B,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE;IAG9C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;IAalD,MAAM;IAsBN,WAAW,CAAC,KAAK,EAAE,GAAG;IAkCtB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;IAShC,UAAU,CAAC,OAAO,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK;IAIjB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;IAiDlC,UAAU;YAUI,sBAAsB;IAmBpC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;YAUR,cAAc;CA2C7B;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/legacy/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EAEb,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,SAAS,KACZ,IAAI,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG;IACtB,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAG1B,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;CACvB;AAGD,cAAM,MAAM,CAAC,YAAY,GAAG,GAAG;IACtB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAwB9C,iBAAiB,CAAC,OAAO,EAAE,OAAO;;;;;IAWlC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE;;;;;IAqKvD,UAAU;IAeV,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA0BzD,UAAU,CAAC,QAAQ,EAAE,YAAY;IAGvC,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE;IAG9C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY;IAa3D,MAAM;IAsBN,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAkCtC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;IAShC,UAAU,CAAC,OAAO,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK;IAIjB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;IAiDlC,UAAU;YAUI,sBAAsB;IAmBpC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;YAUR,cAAc;CA2C7B;AAED,eAAe,MAAM,CAAC"}
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var O=Object.defineProperty;var i=(n,e)=>O(n,"name",{value:e,configurable:!0});function b(n){return n.constructor.name==="AsyncFunction"}i(b,"isAsync");function f(n,e){return`${n}$$${e}`}i(f,"generateStoreId");var h=i(n=>`Couldn't find "${n}" action. Are you sure you've added the action?`,"ACTION_NOT_FOUND_ERROR"),C=i(n=>`An error occurred during running ${n}`,"OR_ELSE_ACTION_FAILED_ERROR"),P="For setup store, you should set `store` first.";var p=class{static{i(this,"Namespace")}namespaceId;providerId;#e;#r=new Map;#s=new Map;#t=new Map;#o=new Map;#n=!1;#i;#c;constructor(e,t,r){let{configs:o,actions:s}=r;this.namespaceId=e,this.providerId=t,this.#c=o||new Map,this.#e=s,r.store&&this.store(r.store)}init(){if(this.#n)return;let e=this.#e.get("init");e&&e(this.#a()),this.#n=!0}state(){let e=this.#i;if(!e)throw new Error("You need to set your store using `.store` method first.");let t=this.#h();return[i(s=>{let a=e.getState().namespaces.getNamespaceData(t);return s?a[s]:a},"getState"),i((s,a)=>{e.getState().namespaces.updateStatus(t,s,a)},"setState")]}store(e){return this.#i&&console.warn("You've already set an store for your Namespace. Old store will be replaced by the new one."),this.#i=e,this.#y(),this}and_then(e,t){let r=this.#r.get(e)||[];return this.#r.set(e,r.concat(t)),this}or_else(e,t){let r=this.#s.get(e)||[];return this.#s.set(e,r.concat(t)),this}after(e,t,r){let o=this.#o.get(e)||[],s={hook:t,options:{context:r?.context}};return this.#o.set(e,o.concat(s)),this}before(e,t,r){let o=this.#t.get(e)||[],s={hook:t,options:{context:r?.context}};return this.#t.set(e,o.concat(s)),this}run(e,...t){let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));return b(r)?this.#l(e,t):this.#p(e,t)}#p(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));let o=this.#a(),s;try{s=r(o,...t),s=this.#m(e,s)}catch(a){s=this.#f(e,a)}finally{this.#d(e)}return s}async#l(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));let o=this.#a();return await r(o,...t).then(s=>this.#m(e,s)).catch(s=>this.#f(e,s)).finally(()=>this.#d(e))}#d(e){let t=this.#o.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#u(e){let t=this.#t.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#m(e,t){let r=this.#r.get(e);if(r){let o=this.#a();t=r.reduce((s,a)=>a(o,s),t)}return t}#f(e,t){let r=this.#s.get(e);if(r)try{let o=this.#a();return r.reduce((s,a)=>a(o,s),t)}catch{let s=C(`${e.toString()} for ${this.namespaceId} namespace.`);throw new Error(s,{cause:t})}else throw t}#y(){let e=this.#i;if(!e)throw new Error(P);let t=this.#h();e.getState().namespaces.addNamespace(t,{namespaceId:this.namespaceId,providerId:this.providerId})}#h(){return f(this.providerId,this.namespaceId)}#a(){return{state:this.state.bind(this),action:this.run.bind(this)}}};var E="1.0",d=class{static{i(this,"Provider")}id;version=E;#e;#r=!1;#s={};#t;#o;constructor(e,t,r,o){this.id=e,this.#o=r,this.#s=o?.extendInternalActions||{},this.#e=t,o?.store&&(this.#t=o.store,this.#i())}init(){if(this.#r)return;let e=this.#s.init;e&&e(this.#c()),this.#r=!0}state(){let e=this.#t;if(!e)throw new Error(`Any store detected for ${this.id}. You need to set your store using '.store' method first.`);return[i(o=>{let s=e.getState().providers.guessNamespacesState(this.id);if(!o)return s;switch(o){case"installed":case"connected":case"connecting":return s[o];default:throw new Error("Unhandled state for provider")}},"getState"),i((o,s)=>{switch(o){case"installed":return e.getState().providers.updateStatus(this.id,o,s);default:throw new Error(`Unhandled state update for provider. (provider id: ${this.id}, state name: ${o})`)}},"setState")]}store(e){return this.#t&&console.warn("You've already set an store for your Provider. Old store will be replaced by the new one."),this.#t=e,this.#i(),this}info(){let e=this.#t;if(!e)throw new Error("You need to set your store using `.store` method first.");return e.getState().providers.list[this.id].config.info}getAll(){return this.#e}get(e){return this.#e.get(e)}findByNamespace(e){let t;return this.#e.forEach(r=>{r.namespaceId===e&&(t=r)}),t}before(e,t){return this.#n("before",e,t),this}after(e,t){return this.#n("after",e,t),this}#n(e,t,r){let o={state:this.state.bind(this)};return this.#e.forEach(s=>{if(e==="after")s.after(t,r,{context:o});else if(e==="before")s.before(t,r,{context:o});else throw new Error(`You hook name is invalid: ${e}`)}),this}#i(){let e=this.#t;if(!e)throw new Error("For setup store, you should set `store` first.");e.getState().providers.addProvider(this.id,this.#o),this.#e.forEach(t=>{t.store(e)})}#c(){return{state:this.state.bind(this)}}};var l=class{static{i(this,"Hub")}#e=new Map;#r;constructor(e){this.#r=e??{}}init(){this.runAll("init")}runAll(e){let t=[],r=this.#e.values();for(let o of r){let s={id:o.id,provider:void 0,namespaces:[]},a=o[e];typeof a=="function"&&(s.provider=a.call(o));let c=o.getAll().values();for(let K of c){let v=K[e];if(typeof v=="function"){let I=v();s.namespaces.push(I)}}t.push(s)}return t}add(e,t){return this.#r.store&&t.store(this.#r.store),this.#e.set(e,t),this}get(e){return this.#e.get(e)}getAll(){return this.#e}state(){let e=this.runAll("state"),t={};return e.forEach(r=>{let o=[];r.namespaces.forEach(a=>{let[c]=a;o.push(c())});let[s]=r.provider;t[r.id]={...s()||{},namespaces:o}}),t}};function u(n,e){let t=n.namespaces.list,r=Object.keys(t).filter(c=>t[c].info.providerId===e),o=n.providers.list[e].data.installed,s=r.length>0?r.some(c=>t[c].data.connected):!1,a=r.length>0?r.some(c=>t[c].data.connecting):!1;return{installed:o,connected:s,connecting:a}}i(u,"guessProviderStateSelector");function m(n,e){return n.namespaces.list[e].data}i(m,"namespaceStateSelector");import{createStore as F}from"zustand/vanilla";var N=i(()=>({config:{}}),"hubStore");import{produce as A}from"immer";var w=i((n,e)=>({list:{},addNamespace:(t,r)=>{let o={data:{accounts:null,network:null,connected:!1,connecting:!1},error:"",info:r};n(A(s=>{s.namespaces.list[t]=o}))},updateStatus:(t,r,o)=>{if(!e().namespaces.list[t])throw new Error(`No namespace with '${t}' found.`);n(A(s=>{s.namespaces.list[t].data[r]=o}))},getNamespaceData(t){return m(e(),t)}}),"namespacesStore");import{produce as T}from"immer";var k=i((n,e)=>({list:{},addProvider:(t,r)=>{let o={data:{installed:!1},error:"",config:r};n(T(s=>{s.providers.list[t]=o}))},updateStatus:(t,r,o)=>{if(!e().providers.list[t])throw new Error(`No namespace namespace with '${t}' found.`);n(T(s=>{s.providers.list[t].data[r]=o}))},guessNamespacesState:t=>u(e(),t)}),"providersStore");var g=i(()=>F((...n)=>({hub:N(...n),providers:k(...n),namespaces:w(...n)})),"createStore");var R=["init","state","after","before","and_then","or_else","store"],y=class{static{i(this,"NamespaceBuilder")}#e;#r;#s=new Map;#t=[];#o;constructor(e,t){this.#e=e,this.#r=t,this.#o={}}config(e,t){return this.#o[e]=t,this}action(e,t){return Array.isArray(e)?(e.forEach(([r,o])=>{this.#s.set(r,o)}),this):typeof e=="object"&&e?.actionName?(this.#t.push(e),this):(t&&this.#s.set(e,t),this)}build(){if(this.#n(this.#o))return this.#p(this.#o);throw new Error("You namespace config isn't valid.")}#n(e){return!0}#i(e){this.#t.forEach(t=>{t.after.forEach(r=>{r.map(o=>{e.after(t.actionName,o)})}),t.before.forEach(r=>{r.map(o=>{e.before(t.actionName,o)})}),t.and.forEach(r=>{r.map(o=>{e.and_then(t.actionName,o)})}),t.or.forEach(r=>{r.map(o=>{e.or_else(t.actionName,o)})})})}#c(){this.#t.forEach(e=>{this.#s.set(e.actionName,e.action)})}#p(e){this.#c();let t=new p(this.#e,this.#r,{configs:e,actions:this.#s});return this.#i(t),new Proxy(t,{get:(o,s)=>{if(typeof s!="string")throw new Error("You can use string as your property on Namespace instance.");let a=t[s];return R.includes(s)?a.bind(t):["string","number"].includes(typeof a)?a:t.run.bind(t,s)},set:()=>{throw new Error("You can not set anything on this object.")}})}};var x=class{static{i(this,"ProviderBuilder")}#e;#r=new Map;#s={};#t={};#o;constructor(e,t){this.#e=e,this.#o=t||{}}add(e,t){return this.#o.store&&t.store(this.#o.store),this.#r.set(e,t),this}config(e,t){return this.#t[e]=t,this}init(e){return this.#s.init=e,this}build(){if(this.#n(this.#t))return new d(this.#e,this.#r,this.#t,{extendInternalActions:this.#s,store:this.#o.store});throw new Error("You need to set all required configs.")}#n(e){return!!e.info}};var S=class{static{i(this,"ActionBuilder")}name;#e=new Map;#r=new Map;#s=new Map;#t=new Map;#o;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}before(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}after(e){return this.#s.has(this.name)||this.#s.set(this.name,[]),this.#s.get(this.name)?.push(e),this}action(e){return this.#o=e,this}build(){if(!this.#o)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#o,before:this.#t,after:this.#s,and:this.#e,or:this.#r}}};import*as $e from"caip";function V(n,e){if(!e)throw new Error("You should provide a valid semver, e.g 1.0.0.");let t=n.find(([r])=>r===e);if(!t)throw new Error(`You target version hasn't been found. Available versions: ${Object.keys(n).join(", ")}`);return t}i(V,"pickVersion");function j(){let n=[],e={version:(t,r)=>(n.push([t,r]),e),build:()=>n};return e}i(j,"defineVersions");export{S as ActionBuilder,l as Hub,p as Namespace,y as NamespaceBuilder,d as Provider,x as ProviderBuilder,g as createStore,j as defineVersions,u as guessProviderStateSelector,m as namespaceStateSelector,V as pickVersion};
1
+ var R=Object.defineProperty;var i=(a,e)=>R(a,"name",{value:e,configurable:!0});function P(a){return a.constructor.name==="AsyncFunction"}i(P,"isAsync");function l(a,e){return`${a}$$${e}`}i(l,"generateStoreId");var y=i(a=>`Couldn't find "${a}" action. Are you sure you've added the action?`,"ACTION_NOT_FOUND_ERROR"),N=i(a=>`An error occurred during running ${a}`,"OR_ELSE_ACTION_FAILED_ERROR"),w="For setup store, you should set `store` first.";var u=class{static{i(this,"Namespace")}namespaceId;providerId;#e;#r=new Map;#n=new Map;#t=new Map;#o=new Map;#s=!1;#i;#c;constructor(e,t,r){let{configs:o,actions:n}=r;this.namespaceId=e,this.providerId=t,this.#c=o||new Map,this.#e=n,r.store&&this.store(r.store)}init(){if(this.#s)return;let e=this.#e.get("init");e&&e(this.#a()),this.#s=!0}state(){let e=this.#i;if(!e)throw new Error("You need to set your store using `.store` method first.");let t=this.#h();return[i(n=>{let s=e.getState().namespaces.getNamespaceData(t);return n?s[n]:s},"getState"),i((n,s)=>{e.getState().namespaces.updateStatus(t,n,s)},"setState")]}store(e){return this.#i&&console.warn("You've already set an store for your Namespace. Old store will be replaced by the new one."),this.#i=e,this.#l(),this}and_then(e,t){let r=this.#r.get(e)||[];return this.#r.set(e,r.concat(t)),this}or_else(e,t){let r=this.#n.get(e)||[];return this.#n.set(e,r.concat(t)),this}after(e,t,r){let o=this.#o.get(e)||[],n={hook:t,options:{context:r?.context}};return this.#o.set(e,o.concat(n)),this}before(e,t,r){let o=this.#t.get(e)||[],n={hook:t,options:{context:r?.context}};return this.#t.set(e,o.concat(n)),this}run(e,...t){let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));return P(r)?this.#v(e,t):this.#p(e,t)}#p(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));let o=this.#a(),n;try{n=r(o,...t),n=this.#m(e,n)}catch(s){n=this.#f(e,s)}finally{this.#d(e)}return n}async#v(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));let o=this.#a();return await r(o,...t).then(n=>this.#m(e,n)).catch(n=>this.#f(e,n)).finally(()=>this.#d(e))}#d(e){let t=this.#o.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#u(e){let t=this.#t.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#m(e,t){let r=this.#r.get(e);if(r){let o=this.#a();t=r.reduce((n,s)=>s(o,n),t)}return t}#f(e,t){let r=this.#n.get(e);if(r)try{let o=this.#a();return r.reduce((n,s)=>s(o,n),t)}catch{let n=N(`${e.toString()} for ${this.namespaceId} namespace.`);throw new Error(n,{cause:t})}else throw t}#l(){let e=this.#i;if(!e)throw new Error(w);let t=this.#h();e.getState().namespaces.addNamespace(t,{namespaceId:this.namespaceId,providerId:this.providerId})}#h(){return l(this.providerId,this.namespaceId)}#a(){return{state:this.state.bind(this),action:this.run.bind(this)}}};var _="1.0",m=class{static{i(this,"Provider")}id;version=_;#e;#r=!1;#n={};#t;#o;constructor(e,t,r,o){this.id=e,this.#o=r,this.#n=o?.extendInternalActions||{},this.#e=t,o?.store&&(this.#t=o.store,this.#i())}init(){if(this.#r)return;let e=this.#n.init;e&&e(this.#c()),this.#r=!0}state(){let e=this.#t;if(!e)throw new Error(`Any store detected for ${this.id}. You need to set your store using '.store' method first.`);return[i(o=>{let n=e.getState().providers.guessNamespacesState(this.id);if(!o)return n;switch(o){case"installed":case"connected":case"connecting":return n[o];default:throw new Error("Unhandled state for provider")}},"getState"),i((o,n)=>{switch(o){case"installed":return e.getState().providers.updateStatus(this.id,o,n);default:throw new Error(`Unhandled state update for provider. (provider id: ${this.id}, state name: ${o})`)}},"setState")]}store(e){return this.#t&&console.warn("You've already set an store for your Provider. Old store will be replaced by the new one."),this.#t=e,this.#i(),this}info(){let e=this.#t;if(!e)throw new Error("You need to set your store using `.store` method first.");return e.getState().providers.list[this.id].config.info}getAll(){return this.#e}get(e){return this.#e.get(e)}findByNamespace(e){let t;return this.#e.forEach(r=>{r.namespaceId===e&&(t=r)}),t}before(e,t){return this.#s("before",e,t),this}after(e,t){return this.#s("after",e,t),this}#s(e,t,r){let o={state:this.state.bind(this)};return this.#e.forEach(n=>{if(e==="after")n.after(t,r,{context:o});else if(e==="before")n.before(t,r,{context:o});else throw new Error(`You hook name is invalid: ${e}`)}),this}#i(){let e=this.#t;if(!e)throw new Error("For setup store, you should set `store` first.");e.getState().providers.addProvider(this.id,this.#o),this.#e.forEach(t=>{t.store(e)})}#c(){return{state:this.state.bind(this)}}};var S=class{static{i(this,"Hub")}#e=new Map;#r;constructor(e){this.#r=e??{}}init(){this.runAll("init")}runAll(e){let t=[],r=this.#e.values();for(let o of r){let n={id:o.id,provider:void 0,namespaces:[]},s=o[e];typeof s=="function"&&(n.provider=s.call(o));let c=o.getAll().values();for(let p of c){let f=p[e];if(typeof f=="function"){let F=f();n.namespaces.push(F)}}t.push(n)}return t}add(e,t){return this.#r.store&&t.store(this.#r.store),this.#e.set(e,t),this}get(e){return this.#e.get(e)}getAll(){return this.#e}state(){let e=this.runAll("state"),t={};return e.forEach(r=>{let o=[];r.namespaces.forEach(s=>{let[c]=s;o.push(c())});let[n]=r.provider;t[r.id]={...n()||{},namespaces:o}}),t}};function d(a,e){let t=a.namespaces.list,r=Object.keys(t).filter(c=>t[c].info.providerId===e),o=a.providers.list[e].data.installed,n=r.length>0?r.some(c=>t[c].data.connected):!1,s=r.length>0?r.some(c=>t[c].data.connecting):!1;return{installed:o,connected:n,connecting:s}}i(d,"guessProviderStateSelector");function v(a,e){return a.namespaces.list[e].data}i(v,"namespaceStateSelector");import{createStore as V}from"zustand/vanilla";function A(a){let e=i(t=>r=>{let o=i((n,s,c)=>{for(let p of n)r(p,s,c)},"executeListener");return t.subscribe((n,s)=>{let c=j(n,s),f=[...E(n),...c];o(f,n,s)}),{flushEvents:()=>{let n=t.getState(),s=E(n);o(s,n,n)}}},"extendedSubscribe");return new Proxy(a,{get:function(t,r,o){return r==="subscribe"?e(t):Reflect.get(t,r,o)}})}i(A,"extend");function E(a){return[...a.providers.events,...a.namespaces.events]}i(E,"tryConsumeEvents");function j(a,e){let t=[];for(let r of Object.keys(a.providers.list)){let o=d(a,r),n=d(e,r);if(n.connecting!==o.connecting){let s={type:"provider_connecting",provider:r,value:o.connecting};t.push(s)}if(!n.connected&&o.connected){let s={type:"provider_connected",provider:r};t.push(s)}if(n.connected&&!o.connected){let s={type:"provider_disconnected",provider:r};t.push(s)}}return t}i(j,"getEventsLike");var T=i(()=>({config:{}}),"hubStore");import{produce as k}from"immer";var h=class{static{i(this,"ConsumableEvents")}#e=[];push(e){this.#e.push(e)}[Symbol.iterator](){return{next:()=>this.#e.length==0?{done:!0,value:void 0}:{done:!1,value:this.#e.shift()}}}};var I=i((a,e)=>({events:new h,list:{},addNamespace:(t,r)=>{let n={data:{accounts:null,network:null,connected:!1,connecting:!1},error:"",info:r};a(k(s=>{s.namespaces.list[t]=n}))},updateStatus:(t,r,o)=>{let n=e().namespaces.list[t];if(!n)throw new Error(`No namespace with '${t}' found.`);e().namespaces._produceEventsWhenUpdatingStatus(n,t,r,o),a(k(s=>{s.namespaces.list[t].data[r]=o}))},getNamespaceData(t){return v(e(),t)},_produceEventsWhenUpdatingStatus:(t,r,o,n)=>{if(o==="accounts")if(Object.is(n,null)||Array.isArray(n)&&n.length===0){if(e().namespaces.list[r].data.connected){let p={type:"namespace_disconnected",provider:t.info.providerId,namespace:t.info.namespaceId};e().namespaces.events.push(p)}}else{let c=e().namespaces.list[r].data.accounts;if(c){if(!(c.sort().toString()===n.sort().toString())){let f={type:"namespace_account_switched",provider:t.info.providerId,namespace:t.info.namespaceId,previousAccounts:c,accounts:n};e().namespaces.events.push(f)}}else{let p={type:"namespace_connected",provider:t.info.providerId,namespace:t.info.namespaceId,accounts:n};e().namespaces.events.push(p)}}else if(o==="network"){let s=e().namespaces.list[r].data.network,c={type:"namespace_network_switched",provider:t.info.providerId,namespace:t.info.namespaceId,network:n,previousNetwork:s};e().namespaces.events.push(c)}}}),"namespacesStore");import{produce as K}from"immer";var O=i((a,e)=>({events:new h,list:{},addProvider:(t,r)=>{let o={data:{installed:!1},error:"",config:r};a(K(n=>{n.providers.list[t]=o}))},updateStatus:(t,r,o)=>{let n=e().providers.list[t];if(!n)throw new Error(`No namespace namespace with '${t}' found.`);e().providers._produceEventsWhenUpdatingStatus(n,t,r,o),a(K(s=>{s.providers.list[t].data[r]=o}))},guessNamespacesState:t=>d(e(),t),_produceEventsWhenUpdatingStatus:(t,r,o,n)=>{if(o==="installed"){let s={type:"provider_detected",provider:r};e().providers.events.push(s)}}}),"providersStore");var C=i(()=>{let a=V((...e)=>({hub:T(...e),providers:O(...e),namespaces:I(...e)}));return A(a)},"createStore");var D=["init","state","after","before","and_then","or_else","store"],g=class{static{i(this,"NamespaceBuilder")}#e;#r;#n=new Map;#t=[];#o;constructor(e,t){this.#e=e,this.#r=t,this.#o={}}config(e,t){return this.#o[e]=t,this}action(e,t){return Array.isArray(e)?(e.forEach(([r,o])=>{this.#n.set(r,o)}),this):typeof e=="object"&&e?.actionName?(this.#t.push(e),this):(t&&this.#n.set(e,t),this)}build(){if(this.#s(this.#o))return this.#p(this.#o);throw new Error("You namespace config isn't valid.")}#s(e){return!0}#i(e){this.#t.forEach(t=>{t.after.forEach(r=>{r.map(o=>{e.after(t.actionName,o)})}),t.before.forEach(r=>{r.map(o=>{e.before(t.actionName,o)})}),t.and.forEach(r=>{r.map(o=>{e.and_then(t.actionName,o)})}),t.or.forEach(r=>{r.map(o=>{e.or_else(t.actionName,o)})})})}#c(){this.#t.forEach(e=>{this.#n.set(e.actionName,e.action)})}#p(e){this.#c();let t=new u(this.#e,this.#r,{configs:e,actions:this.#n});return this.#i(t),new Proxy(t,{get:(o,n)=>{if(typeof n!="string")throw new Error("You can use string as your property on Namespace instance.");let s=t[n];return D.includes(n)?s.bind(t):["string","number"].includes(typeof s)?s:t.run.bind(t,n)},set:()=>{throw new Error("You can not set anything on this object.")}})}};var x=class{static{i(this,"ProviderBuilder")}#e;#r=new Map;#n={};#t={};#o;constructor(e,t){this.#e=e,this.#o=t||{}}add(e,t){return this.#o.store&&t.store(this.#o.store),this.#r.set(e,t),this}config(e,t){return this.#t[e]=t,this}init(e){return this.#n.init=e,this}build(){if(this.#s(this.#t))return new m(this.#e,this.#r,this.#t,{extendInternalActions:this.#n,store:this.#o.store});throw new Error("You need to set all required configs.")}#s(e){return!!e.info}};var b=class{static{i(this,"ActionBuilder")}name;#e=new Map;#r=new Map;#n=new Map;#t=new Map;#o;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}before(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#o=e,this}build(){if(!this.#o)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#o,before:this.#t,after:this.#n,and:this.#e,or:this.#r}}};import*as et from"caip";function W(a,e){if(!e)throw new Error("You should provide a valid semver, e.g 1.0.0.");let t=a.find(([r])=>r===e);if(!t)throw new Error(`You target version hasn't been found. Available versions: ${Object.keys(a).join(", ")}`);return t}i(W,"pickVersion");function H(){let a=[],e={version:(t,r)=>(a.push([t,r]),e),build:()=>a};return e}i(H,"defineVersions");export{b as ActionBuilder,S as Hub,u as Namespace,g as NamespaceBuilder,m as Provider,x as ProviderBuilder,C as createStore,H as defineVersions,d as guessProviderStateSelector,v as namespaceStateSelector,W as pickVersion};
2
2
  //# sourceMappingURL=mod.js.map