wowok 2.2.2 → 2.2.4
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/LICENSE +145 -201
- package/NOTICE +94 -26
- package/THIRD_PARTY_LICENSES/APACHE_LICENSE.txt +196 -0
- package/THIRD_PARTY_LICENSES/MIT_LICENSE.txt +58 -0
- package/dist/cjs/bcs/bcs.d.ts +30 -68
- package/dist/cjs/bcs/bcs.js +1 -1
- package/dist/cjs/bcs/index.js +1 -1
- package/dist/cjs/cryptography/index.d.ts +1 -1
- package/dist/cjs/cryptography/index.js +1 -1
- package/dist/cjs/cryptography/intent.js +1 -1
- package/dist/cjs/cryptography/keypair.d.ts +2 -2
- package/dist/cjs/cryptography/keypair.js +1 -1
- package/dist/cjs/cryptography/publickey.d.ts +1 -1
- package/dist/cjs/cryptography/publickey.js +1 -1
- package/dist/cjs/cryptography/signature-scheme.d.ts +4 -15
- package/dist/cjs/cryptography/signature-scheme.js +1 -1
- package/dist/cjs/cryptography/signature.d.ts +1 -9
- package/dist/cjs/cryptography/signature.js +1 -1
- package/dist/cjs/grpc/client.d.ts +0 -2
- package/dist/cjs/grpc/client.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +8 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +8 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +8 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +15 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +8 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +1 -1
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +48 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +1 -1
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +8 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +9 -87
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +2 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +13 -51
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/jsonRpc/types/chain.d.ts +0 -5
- package/dist/cjs/jsonRpc/types/generated.d.ts +5 -57
- package/dist/cjs/jsonRpc/types/params.d.ts +0 -17
- package/dist/cjs/keypairs/falcon512/index.d.ts +2 -0
- package/dist/cjs/keypairs/falcon512/index.js +1 -0
- package/dist/cjs/keypairs/falcon512/keypair.d.ts +19 -0
- package/dist/cjs/keypairs/falcon512/keypair.js +1 -0
- package/dist/{esm/keypairs/ed25519 → cjs/keypairs/falcon512}/publickey.d.ts +2 -2
- package/dist/cjs/keypairs/falcon512/publickey.js +1 -0
- package/dist/cjs/keypairs/index.d.ts +1 -4
- package/dist/cjs/keypairs/index.js +1 -1
- package/dist/cjs/utils/move-registry.js +1 -1
- package/dist/cjs/utils/sui-types.js +1 -1
- package/dist/cjs/verify/verify.js +1 -1
- package/dist/cjs/w/call/arbitration.js +1 -1
- package/dist/cjs/w/call/base.js +1 -1
- package/dist/cjs/w/call/contact.js +1 -1
- package/dist/cjs/w/call/demand.js +1 -1
- package/dist/cjs/w/call/guard.js +1 -1
- package/dist/cjs/w/call/machine.js +1 -1
- package/dist/cjs/w/call/personal.js +1 -1
- package/dist/cjs/w/call/proof.d.ts +3 -3
- package/dist/cjs/w/call/proof.js +1 -1
- package/dist/cjs/w/call/repository.js +1 -1
- package/dist/cjs/w/call/reward.js +1 -1
- package/dist/cjs/w/call/service.js +1 -1
- package/dist/cjs/w/call/treasury.js +1 -1
- package/dist/cjs/w/local/account.d.ts +11 -4
- package/dist/cjs/w/local/account.js +1 -1
- package/dist/cjs/w/local/storage.js +1 -1
- package/dist/cjs/w/local/util.js +1 -1
- package/dist/cjs/w/local/wip.d.ts +1 -1
- package/dist/cjs/w/local/wip.js +1 -1
- package/dist/cjs/w/messenger/crypto.d.ts +1 -3
- package/dist/cjs/w/messenger/crypto.js +1 -1
- package/dist/cjs/w/messenger/messenger-api.js +1 -1
- package/dist/cjs/w/messenger/messenger-manager.js +1 -1
- package/dist/cjs/w/messenger/messenger.js +1 -1
- package/dist/cjs/w/messenger/pq/crypto.d.ts +6 -6
- package/dist/cjs/w/messenger/pq/crypto.js +1 -1
- package/dist/cjs/w/messenger/pq/pqxdh.d.ts +3 -6
- package/dist/cjs/w/messenger/pq/pqxdh.js +1 -1
- package/dist/cjs/w/messenger/pq/session.d.ts +6 -4
- package/dist/cjs/w/messenger/pq/session.js +1 -1
- package/dist/cjs/w/messenger/pq/spqr.js +1 -1
- package/dist/cjs/w/messenger/pq/store-adapter.d.ts +1 -3
- package/dist/cjs/w/messenger/pq/store-adapter.js +1 -1
- package/dist/cjs/w/messenger/pq/types.d.ts +4 -5
- package/dist/cjs/w/messenger/pq/types.js +1 -1
- package/dist/cjs/w/messenger/session.d.ts +4 -5
- package/dist/cjs/w/messenger/session.js +1 -1
- package/dist/cjs/w/messenger/storage.js +1 -1
- package/dist/cjs/w/messenger/types.d.ts +7 -10
- package/dist/cjs/w/messenger/types.js +1 -1
- package/dist/cjs/w/query/object.js +1 -1
- package/dist/esm/bcs/bcs.d.ts +30 -68
- package/dist/esm/bcs/bcs.js +1 -1
- package/dist/esm/bcs/index.js +1 -1
- package/dist/esm/cryptography/index.d.ts +1 -1
- package/dist/esm/cryptography/index.js +1 -1
- package/dist/esm/cryptography/intent.js +1 -1
- package/dist/esm/cryptography/keypair.d.ts +2 -2
- package/dist/esm/cryptography/keypair.js +1 -1
- package/dist/esm/cryptography/publickey.d.ts +1 -1
- package/dist/esm/cryptography/publickey.js +1 -1
- package/dist/esm/cryptography/signature-scheme.d.ts +4 -15
- package/dist/esm/cryptography/signature-scheme.js +1 -1
- package/dist/esm/cryptography/signature.d.ts +1 -9
- package/dist/esm/cryptography/signature.js +1 -1
- package/dist/esm/grpc/client.d.ts +0 -2
- package/dist/esm/grpc/client.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +7 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +8 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +8 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +8 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +15 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js +1 -1
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +8 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +1 -1
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +48 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js +1 -1
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +8 -0
- package/dist/esm/grpc/proto/google/rpc/status.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +9 -87
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +2 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +13 -51
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/jsonRpc/types/chain.d.ts +0 -5
- package/dist/esm/jsonRpc/types/generated.d.ts +5 -57
- package/dist/esm/jsonRpc/types/params.d.ts +0 -17
- package/dist/esm/keypairs/falcon512/index.d.ts +2 -0
- package/dist/esm/keypairs/falcon512/index.js +1 -0
- package/dist/esm/keypairs/falcon512/keypair.d.ts +19 -0
- package/dist/esm/keypairs/falcon512/keypair.js +1 -0
- package/dist/{cjs/keypairs/ed25519 → esm/keypairs/falcon512}/publickey.d.ts +2 -2
- package/dist/esm/keypairs/falcon512/publickey.js +1 -0
- package/dist/esm/keypairs/index.d.ts +1 -4
- package/dist/esm/keypairs/index.js +1 -1
- package/dist/esm/utils/move-registry.js +1 -1
- package/dist/esm/utils/sui-types.js +1 -1
- package/dist/esm/verify/verify.js +1 -1
- package/dist/esm/w/call/arbitration.js +1 -1
- package/dist/esm/w/call/base.js +1 -1
- package/dist/esm/w/call/contact.js +1 -1
- package/dist/esm/w/call/demand.js +1 -1
- package/dist/esm/w/call/guard.js +1 -1
- package/dist/esm/w/call/machine.js +1 -1
- package/dist/esm/w/call/personal.js +1 -1
- package/dist/esm/w/call/proof.d.ts +3 -3
- package/dist/esm/w/call/proof.js +1 -1
- package/dist/esm/w/call/repository.js +1 -1
- package/dist/esm/w/call/reward.js +1 -1
- package/dist/esm/w/call/service.js +1 -1
- package/dist/esm/w/call/treasury.js +1 -1
- package/dist/esm/w/local/account.d.ts +11 -4
- package/dist/esm/w/local/account.js +1 -1
- package/dist/esm/w/local/storage.js +1 -1
- package/dist/esm/w/local/util.js +1 -1
- package/dist/esm/w/local/wip.d.ts +1 -1
- package/dist/esm/w/local/wip.js +1 -1
- package/dist/esm/w/messenger/crypto.d.ts +1 -3
- package/dist/esm/w/messenger/crypto.js +1 -1
- package/dist/esm/w/messenger/messenger-api.js +1 -1
- package/dist/esm/w/messenger/messenger-manager.js +1 -1
- package/dist/esm/w/messenger/messenger.js +1 -1
- package/dist/esm/w/messenger/pq/crypto.d.ts +6 -6
- package/dist/esm/w/messenger/pq/crypto.js +1 -1
- package/dist/esm/w/messenger/pq/pqxdh.d.ts +3 -6
- package/dist/esm/w/messenger/pq/pqxdh.js +1 -1
- package/dist/esm/w/messenger/pq/session.d.ts +6 -4
- package/dist/esm/w/messenger/pq/session.js +1 -1
- package/dist/esm/w/messenger/pq/spqr.js +1 -1
- package/dist/esm/w/messenger/pq/store-adapter.d.ts +1 -3
- package/dist/esm/w/messenger/pq/store-adapter.js +1 -1
- package/dist/esm/w/messenger/pq/types.d.ts +4 -5
- package/dist/esm/w/messenger/pq/types.js +1 -1
- package/dist/esm/w/messenger/session.d.ts +4 -5
- package/dist/esm/w/messenger/session.js +1 -1
- package/dist/esm/w/messenger/storage.js +1 -1
- package/dist/esm/w/messenger/types.d.ts +7 -10
- package/dist/esm/w/messenger/types.js +1 -1
- package/dist/esm/w/query/object.js +1 -1
- package/package.json +25 -25
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -47
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +0 -1
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +0 -8
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +0 -1
- package/dist/cjs/keypairs/ed25519/index.d.ts +0 -2
- package/dist/cjs/keypairs/ed25519/index.js +0 -1
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +0 -22
- package/dist/cjs/keypairs/ed25519/keypair.js +0 -1
- package/dist/cjs/keypairs/ed25519/publickey.js +0 -1
- package/dist/cjs/keypairs/passkey/index.d.ts +0 -3
- package/dist/cjs/keypairs/passkey/index.js +0 -1
- package/dist/cjs/keypairs/passkey/keypair.d.ts +0 -33
- package/dist/cjs/keypairs/passkey/keypair.js +0 -1
- package/dist/cjs/keypairs/passkey/publickey.d.ts +0 -25
- package/dist/cjs/keypairs/passkey/publickey.js +0 -1
- package/dist/cjs/keypairs/passkey/types.d.ts +0 -6
- package/dist/cjs/keypairs/passkey/types.js +0 -1
- package/dist/cjs/keypairs/secp256k1/index.d.ts +0 -2
- package/dist/cjs/keypairs/secp256k1/index.js +0 -1
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +0 -22
- package/dist/cjs/keypairs/secp256k1/keypair.js +0 -1
- package/dist/cjs/keypairs/secp256k1/publickey.d.ts +0 -11
- package/dist/cjs/keypairs/secp256k1/publickey.js +0 -1
- package/dist/cjs/keypairs/secp256r1/index.d.ts +0 -2
- package/dist/cjs/keypairs/secp256r1/index.js +0 -1
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +0 -22
- package/dist/cjs/keypairs/secp256r1/keypair.js +0 -1
- package/dist/cjs/keypairs/secp256r1/publickey.d.ts +0 -11
- package/dist/cjs/keypairs/secp256r1/publickey.js +0 -1
- package/dist/cjs/utils/suins.d.ts +0 -2
- package/dist/cjs/utils/suins.js +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -20
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -47
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +0 -1
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +0 -8
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +0 -1
- package/dist/esm/keypairs/ed25519/index.d.ts +0 -2
- package/dist/esm/keypairs/ed25519/index.js +0 -1
- package/dist/esm/keypairs/ed25519/keypair.d.ts +0 -22
- package/dist/esm/keypairs/ed25519/keypair.js +0 -1
- package/dist/esm/keypairs/ed25519/publickey.js +0 -1
- package/dist/esm/keypairs/passkey/index.d.ts +0 -3
- package/dist/esm/keypairs/passkey/index.js +0 -1
- package/dist/esm/keypairs/passkey/keypair.d.ts +0 -33
- package/dist/esm/keypairs/passkey/keypair.js +0 -1
- package/dist/esm/keypairs/passkey/publickey.d.ts +0 -25
- package/dist/esm/keypairs/passkey/publickey.js +0 -1
- package/dist/esm/keypairs/passkey/types.d.ts +0 -6
- package/dist/esm/keypairs/passkey/types.js +0 -1
- package/dist/esm/keypairs/secp256k1/index.d.ts +0 -2
- package/dist/esm/keypairs/secp256k1/index.js +0 -1
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +0 -22
- package/dist/esm/keypairs/secp256k1/keypair.js +0 -1
- package/dist/esm/keypairs/secp256k1/publickey.d.ts +0 -11
- package/dist/esm/keypairs/secp256k1/publickey.js +0 -1
- package/dist/esm/keypairs/secp256r1/index.d.ts +0 -2
- package/dist/esm/keypairs/secp256r1/index.js +0 -1
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +0 -22
- package/dist/esm/keypairs/secp256r1/keypair.js +0 -1
- package/dist/esm/keypairs/secp256r1/publickey.d.ts +0 -11
- package/dist/esm/keypairs/secp256r1/publickey.js +0 -1
- package/dist/esm/utils/suins.d.ts +0 -2
- package/dist/esm/utils/suins.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import a196a from'better-sqlite3';import*as a196b from'path';import*as a196c from'fs';import{getWowDir}from'../local/util.js';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a196b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){!a196c['existsSync'](a)&&a196c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a196b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a196b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;export function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=getUserDbPath(a),d=new a196a(c);d['pragma']('journal_mode\x20=\x20WAL'),d['pragma']('synchronous\x20=\x20NORMAL'),d['pragma']('cache_size\x20=\x20-64000'),d['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{d['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(f){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(g){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(h){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(i){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(j){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(k){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(l){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(m){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(n){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(o){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(p){}return d['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,d),d;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=getGlobalDbPath(),b=new a196a(a);return b['pragma']('journal_mode\x20=\x20WAL'),b['pragma']('synchronous\x20=\x20NORMAL'),b['pragma']('cache_size\x20=\x20-10000'),b['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=b,b;}export function resetDbConnection(){for(const [a,b]of userDbInstances){try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}}for(const [d,f]of userDbInstances){try{f['close']();}catch(g){}}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){const b=Uint8Array['from'](Buffer['from'](a,'base64'));return b['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++){if(e[g]!==f[g])return![];}return!![];}export class SignalProtocolStorage{['storePrefix'];['userAddress'];constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return undefined;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):undefined;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):undefined;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return undefined;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return undefined;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;return undefined;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b=await this['getMeta'](),c={...b,...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](c));}['listPreKeys'](){const a=this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%');return a['map'](b=>{const c=b['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(c);});}['getValue'](a){const b=this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a);return b?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}}export class MessageStorage{['userAddress'];constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===undefined?null:a['plaintext'],a['guardAddress']===undefined?null:a['guardAddress'],a['passportAddress']===undefined?null:a['passportAddress'],a['lastReceivedLeafIndex']===undefined?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===undefined?null:a['leafIndex'],a['prevRoot']===undefined?null:a['prevRoot'],a['newRoot']===undefined?null:a['newRoot'],a['serverSignature']===undefined?null:a['serverSignature'],a['serverPublicKey']===undefined?null:a['serverPublicKey'],a['serverTimestamp']===undefined?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===undefined?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===undefined?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===undefined?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===undefined?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===undefined?null:b);}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return undefined;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase'](),e=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c);return e['map'](f=>this['rowToMessage'](f));}['getPendingMessages'](a){const b=a['toLowerCase'](),c=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending');return c['map'](d=>this['rowToMessage'](d));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==undefined&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==undefined&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==undefined&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==undefined&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==undefined&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now'](),d=this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a);return d['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](','),e=this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a);return e['changes'];}['getAllMessages'](a){const b=a['toLowerCase'](),c=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b);return c['map'](d=>this['rowToMessage'](d));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return undefined;return this['rowToMessage'](b);}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==undefined)return h;return i===null?undefined:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?undefined:d['plaintext'],'guardAddress':d['guard_address']===null?undefined:d['guard_address'],'passportAddress':d['passport_address']===null?undefined:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==undefined?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:undefined,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):undefined,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?undefined:d['received_at'],'viewedAt':d['viewed_at']===null?undefined:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?undefined:a['plaintext'],'guardAddress':a['guard_address']===null?undefined:a['guard_address'],'passportAddress':a['passport_address']===null?undefined:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?undefined:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?undefined:a['leaf_index'],'prevRoot':a['prev_root']===null?undefined:a['prev_root'],'newRoot':a['new_root']===null?undefined:a['new_root'],'serverSignature':a['server_signature']===null?undefined:a['server_signature'],'serverPublicKey':a['server_public_key']===null?undefined:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?undefined:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:undefined,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):undefined,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?undefined:a['received_at'],'viewedAt':a['viewed_at']===null?undefined:a['viewed_at']};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase'](),e=this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c);return e?.['max_index']??-0x1;}}export class SessionStateStorage{['userAddress'];constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return undefined;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){const c=this['getSessionState'](a,b);return c?.['currentRoot']??'0'['repeat'](0x40);}}export class MessengerPersistStorage{['initialized']=![];get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){const a=this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']();return a['map'](b=>b['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);return!!c;}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);return!!c;}}export const defaultPersistStorage=new MessengerPersistStorage();
|
|
1
|
+
import a181a from'better-sqlite3';import*as a181b from'path';import*as a181c from'fs';import{getWowDir}from'../local/util.js';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a181b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){!a181c['existsSync'](a)&&a181c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a181b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a181b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;export function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=getUserDbPath(a),d=new a181a(c);d['pragma']('journal_mode\x20=\x20WAL'),d['pragma']('synchronous\x20=\x20NORMAL'),d['pragma']('cache_size\x20=\x20-64000'),d['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{d['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(f){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(g){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(h){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(i){}try{d['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(j){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(k){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(l){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(m){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(n){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(o){}try{d['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(p){}return d['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,d),d;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=getGlobalDbPath(),b=new a181a(a);return b['pragma']('journal_mode\x20=\x20WAL'),b['pragma']('synchronous\x20=\x20NORMAL'),b['pragma']('cache_size\x20=\x20-10000'),b['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=b,b;}export function resetDbConnection(){for(const [a,b]of userDbInstances){try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}}for(const [d,f]of userDbInstances){try{f['close']();}catch(g){}}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){const b=Uint8Array['from'](Buffer['from'](a,'base64'));return b['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++){if(e[g]!==f[g])return![];}return!![];}export class SignalProtocolStorage{['storePrefix'];['userAddress'];constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return undefined;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):undefined;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):undefined;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return undefined;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return undefined;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return undefined;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;return undefined;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b=await this['getMeta'](),c={...b,...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](c));}['listPreKeys'](){const a=this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%');return a['map'](b=>{const c=b['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(c);});}['getValue'](a){const b=this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a);return b?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}}export class MessageStorage{['userAddress'];constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===undefined?null:a['plaintext'],a['guardAddress']===undefined?null:a['guardAddress'],a['passportAddress']===undefined?null:a['passportAddress'],a['lastReceivedLeafIndex']===undefined?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===undefined?null:a['leafIndex'],a['prevRoot']===undefined?null:a['prevRoot'],a['newRoot']===undefined?null:a['newRoot'],a['serverSignature']===undefined?null:a['serverSignature'],a['serverPublicKey']===undefined?null:a['serverPublicKey'],a['serverTimestamp']===undefined?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===undefined?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===undefined?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===undefined?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===undefined?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===undefined?null:b);}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return undefined;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase'](),e=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c);return e['map'](f=>this['rowToMessage'](f));}['getPendingMessages'](a){const b=a['toLowerCase'](),c=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending');return c['map'](d=>this['rowToMessage'](d));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==undefined&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==undefined&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==undefined&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==undefined&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==undefined&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now'](),d=this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a);return d['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](','),e=this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a);return e['changes'];}['getAllMessages'](a){const b=a['toLowerCase'](),c=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b);return c['map'](d=>this['rowToMessage'](d));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return undefined;return this['rowToMessage'](b);}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==undefined)return h;return i===null?undefined:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?undefined:d['plaintext'],'guardAddress':d['guard_address']===null?undefined:d['guard_address'],'passportAddress':d['passport_address']===null?undefined:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==undefined?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:undefined,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):undefined,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?undefined:d['received_at'],'viewedAt':d['viewed_at']===null?undefined:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?undefined:a['plaintext'],'guardAddress':a['guard_address']===null?undefined:a['guard_address'],'passportAddress':a['passport_address']===null?undefined:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?undefined:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?undefined:a['leaf_index'],'prevRoot':a['prev_root']===null?undefined:a['prev_root'],'newRoot':a['new_root']===null?undefined:a['new_root'],'serverSignature':a['server_signature']===null?undefined:a['server_signature'],'serverPublicKey':a['server_public_key']===null?undefined:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?undefined:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:undefined,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):undefined,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?undefined:a['received_at'],'viewedAt':a['viewed_at']===null?undefined:a['viewed_at']};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase'](),e=this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c);return e?.['max_index']??-0x1;}}export class SessionStateStorage{['userAddress'];constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return undefined;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){const c=this['getSessionState'](a,b);return c?.['currentRoot']??'0'['repeat'](0x40);}}export class MessengerPersistStorage{['initialized']=![];get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){const a=this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']();return a['map'](b=>b['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);return!!c;}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);return!!c;}}export const defaultPersistStorage=new MessengerPersistStorage();
|
|
@@ -102,6 +102,8 @@ export interface ServerRegisterRequest {
|
|
|
102
102
|
deviceId: number;
|
|
103
103
|
registrationId: number;
|
|
104
104
|
identityKey: string;
|
|
105
|
+
falcon512PublicKey?: string;
|
|
106
|
+
x25519BindingSignature?: string;
|
|
105
107
|
prekeys: PreKeyPublic[];
|
|
106
108
|
pqPrekey?: PQPreKeyPublic;
|
|
107
109
|
publicKey: string;
|
|
@@ -150,7 +152,8 @@ export interface UploadPreKeysResponse {
|
|
|
150
152
|
export interface RemoteBundle {
|
|
151
153
|
registrationId: number;
|
|
152
154
|
identityKey: string;
|
|
153
|
-
|
|
155
|
+
falcon512PublicKey?: string;
|
|
156
|
+
x25519BindingSignature?: string;
|
|
154
157
|
signedPrekey?: {
|
|
155
158
|
keyId: number;
|
|
156
159
|
publicKey: string;
|
|
@@ -361,12 +364,6 @@ export interface DecryptedMessage {
|
|
|
361
364
|
rootHash: string;
|
|
362
365
|
};
|
|
363
366
|
}
|
|
364
|
-
export interface Xed25519KeyPair {
|
|
365
|
-
x25519PublicKey: Uint8Array;
|
|
366
|
-
x25519PrivateKey: Uint8Array;
|
|
367
|
-
ed25519PublicKey: Uint8Array;
|
|
368
|
-
ed25519PrivateKey: Uint8Array;
|
|
369
|
-
}
|
|
370
367
|
export interface Empty {
|
|
371
368
|
}
|
|
372
369
|
export interface SignedRequest<T> {
|
|
@@ -520,7 +517,7 @@ export interface WtsFileResult {
|
|
|
520
517
|
end: number;
|
|
521
518
|
};
|
|
522
519
|
}
|
|
523
|
-
export declare const WTS_SCHEMA_URL = "https://
|
|
520
|
+
export declare const WTS_SCHEMA_URL = "https://github.com/wowok-ai/docs/blob/main/WTS.md";
|
|
524
521
|
export interface WtsSession {
|
|
525
522
|
id: string;
|
|
526
523
|
participants: string[];
|
|
@@ -537,7 +534,7 @@ export interface WtsMessage {
|
|
|
537
534
|
prevRoot: string;
|
|
538
535
|
merkleRoot: string;
|
|
539
536
|
serverSignature: string;
|
|
540
|
-
|
|
537
|
+
serverPublicKeyIndex: number;
|
|
541
538
|
guardAddress?: string;
|
|
542
539
|
passportAddress?: string;
|
|
543
540
|
lastReceivedLeafIndex?: number;
|
|
@@ -557,7 +554,7 @@ export interface WtsPayload {
|
|
|
557
554
|
export interface WtsSignature {
|
|
558
555
|
value: string;
|
|
559
556
|
publicKey: string;
|
|
560
|
-
algorithm: "
|
|
557
|
+
algorithm: "Falcon512";
|
|
561
558
|
address?: string;
|
|
562
559
|
}
|
|
563
560
|
export interface WtsServerPublicKey {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ENTRYPOINT}from'../../client/network.js';export var MessageType;(function(a){a[a['PREKEY_MESSAGE']=0x3]='PREKEY_MESSAGE',a[a['NORMAL_MESSAGE']=0x1]='NORMAL_MESSAGE';}(MessageType||(MessageType={})));export var MessageDirection;(function(a){a['SENT']='sent',a['RECEIVED']='received';}(MessageDirection||(MessageDirection={})));export var MessageStatus;(function(a){a['PENDING']='pending',a['CONFIRMED']='confirmed',a['READ']='read',a['FAILED']='failed',a['REJECTED']='rejected',a['DECRYPTED']='decrypted',a['DECRYPT_FAILED']='decrypt_failed';}(MessageStatus||(MessageStatus={})));export const WTS_FILE_BYTES_LIMIT=0x5*0x400*0x400;export const WTS_MAX_MESSAGE_COUNT=0x1f4;export const NORMAL_MESSAGE_BYTES_LIMIT=0xa*0x400;export const DEFAULT_QUERY_LIMIT=0x32;export const MAX_QUERY_LIMIT=0x3e8;export const DEFAULT_DEVICE_ID=0x1;export const SERVER_URL='https://messenger.wowok.net';export const CHAIN_PROOF_TYPE=0x1;export const CURRENT_NETWORK=ENTRYPOINT['Testnet'];export const DEFAULT_MESSENGER_CONFIG={'prekey_count':0x28,'watch_interval_ms':0x3c*0x3e8,'serverUrl':SERVER_URL,'network':CURRENT_NETWORK,'prekeyCheckIntervalMs':0x18*0x3c*0x3c*0x3e8,'defaultQueryLimit':DEFAULT_QUERY_LIMIT,'message_poll_default_interval_ms':0x6*0x3c*0x3e8,'message_poll_fast_interval_ms':0x6*0x3e8,'prekey_poll_default_interval_ms':0x3c*0x3c*0x3e8,'prekey_poll_fast_interval_ms':0x1e*0x3e8,'account_poll_delay_ms':0xc8,'message_poll_consecutive_empty_limit':0x3,'prekey_poll_consecutive_ok_limit':0x3};export var MessengerErrorCode;(function(a){a['PREKEYS_FULL']='PREKEYS_FULL',a['ACCOUNT_NOT_FOUND']='ACCOUNT_NOT_FOUND',a['IDENTITY_NOT_FOUND']='IDENTITY_NOT_FOUND',a['IDENTITY_CONFLICT']='IDENTITY_CONFLICT',a['SESSION_NOT_ESTABLISHED']='SESSION_NOT_ESTABLISHED',a['ENCRYPTION_FAILED']='ENCRYPTION_FAILED',a['DECRYPTION_FAILED']='DECRYPTION_FAILED',a['SERVER_ERROR']='SERVER_ERROR',a['INVALID_PROOF']='INVALID_PROOF',a['NETWORK_ERROR']='NETWORK_ERROR',a['INVALID_INPUT']='INVALID_INPUT',a['FILE_NOT_FOUND']='FILE_NOT_FOUND',a['INVALID_MESSAGE_TYPE']='INVALID_MESSAGE_TYPE',a['MESSAGE_NOT_DECRYPTED']='MESSAGE_NOT_DECRYPTED',a['HASH_MISMATCH']='HASH_MISMATCH',a['ACCOUNT_MESSENGER_NOT_ENABLED']='ACCOUNT_MESSENGER_NOT_ENABLED',a['REGISTRATION_FAILED']='REGISTRATION_FAILED';}(MessengerErrorCode||(MessengerErrorCode={})));export class MessengerError extends Error{['code'];['cause'];constructor(a,b,c){super(b),this['code']=a,this['cause']=c,this['name']='MessengerError';}}export const WTS_SCHEMA_URL='https://
|
|
1
|
+
import{ENTRYPOINT}from'../../client/network.js';export var MessageType;(function(a){a[a['PREKEY_MESSAGE']=0x3]='PREKEY_MESSAGE',a[a['NORMAL_MESSAGE']=0x1]='NORMAL_MESSAGE';}(MessageType||(MessageType={})));export var MessageDirection;(function(a){a['SENT']='sent',a['RECEIVED']='received';}(MessageDirection||(MessageDirection={})));export var MessageStatus;(function(a){a['PENDING']='pending',a['CONFIRMED']='confirmed',a['READ']='read',a['FAILED']='failed',a['REJECTED']='rejected',a['DECRYPTED']='decrypted',a['DECRYPT_FAILED']='decrypt_failed';}(MessageStatus||(MessageStatus={})));export const WTS_FILE_BYTES_LIMIT=0x5*0x400*0x400;export const WTS_MAX_MESSAGE_COUNT=0x1f4;export const NORMAL_MESSAGE_BYTES_LIMIT=0xa*0x400;export const DEFAULT_QUERY_LIMIT=0x32;export const MAX_QUERY_LIMIT=0x3e8;export const DEFAULT_DEVICE_ID=0x1;export const SERVER_URL='https://messenger.wowok.net';export const CHAIN_PROOF_TYPE=0x1;export const CURRENT_NETWORK=ENTRYPOINT['Testnet'];export const DEFAULT_MESSENGER_CONFIG={'prekey_count':0x28,'watch_interval_ms':0x3c*0x3e8,'serverUrl':SERVER_URL,'network':CURRENT_NETWORK,'prekeyCheckIntervalMs':0x18*0x3c*0x3c*0x3e8,'defaultQueryLimit':DEFAULT_QUERY_LIMIT,'message_poll_default_interval_ms':0x6*0x3c*0x3e8,'message_poll_fast_interval_ms':0x6*0x3e8,'prekey_poll_default_interval_ms':0x3c*0x3c*0x3e8,'prekey_poll_fast_interval_ms':0x1e*0x3e8,'account_poll_delay_ms':0xc8,'message_poll_consecutive_empty_limit':0x3,'prekey_poll_consecutive_ok_limit':0x3};export var MessengerErrorCode;(function(a){a['PREKEYS_FULL']='PREKEYS_FULL',a['ACCOUNT_NOT_FOUND']='ACCOUNT_NOT_FOUND',a['IDENTITY_NOT_FOUND']='IDENTITY_NOT_FOUND',a['IDENTITY_CONFLICT']='IDENTITY_CONFLICT',a['SESSION_NOT_ESTABLISHED']='SESSION_NOT_ESTABLISHED',a['ENCRYPTION_FAILED']='ENCRYPTION_FAILED',a['DECRYPTION_FAILED']='DECRYPTION_FAILED',a['SERVER_ERROR']='SERVER_ERROR',a['INVALID_PROOF']='INVALID_PROOF',a['NETWORK_ERROR']='NETWORK_ERROR',a['INVALID_INPUT']='INVALID_INPUT',a['FILE_NOT_FOUND']='FILE_NOT_FOUND',a['INVALID_MESSAGE_TYPE']='INVALID_MESSAGE_TYPE',a['MESSAGE_NOT_DECRYPTED']='MESSAGE_NOT_DECRYPTED',a['HASH_MISMATCH']='HASH_MISMATCH',a['ACCOUNT_MESSENGER_NOT_ENABLED']='ACCOUNT_MESSENGER_NOT_ENABLED',a['REGISTRATION_FAILED']='REGISTRATION_FAILED';}(MessengerErrorCode||(MessengerErrorCode={})));export class MessengerError extends Error{['code'];['cause'];constructor(a,b,c){super(b),this['code']=a,this['cause']=c,this['name']='MessengerError';}}export const WTS_SCHEMA_URL='https://github.com/wowok-ai/docs/blob/main/WTS.md';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getFullnodeUrl}from'../../client/network.js';import{SuiClient}from'../../client/index.js';import{Cache,CachePrefix}from'../local/cache.js';import{Config}from'../local/config.js';import{LocalMark}from'../local/local.js';import{W_ERROR,WErrors}from'../exception.js';import a203a from'lodash';import{restoreNodeFromOutput}from'../call/util.js';import{GetAccountOrMark_Address}from'../local/index.js';import{object_name_from_type,PackageAddress,WitnessType,ObjectType,ENTITY_LINKER_ADDRESS,ENTITY_REGISTRAR_ADDRESS}from'../common.js';import{bcsBytesToValue,parseRecipient,uint2address}from'../util.js';export{ObjectType};export const MAX_OBJECTS_PER_QUERY=0x32;export const WitnessSourceType=a=>{switch(a){case WitnessType['TypeArbArbitration']:case WitnessType['TypeArbOrder']:case WitnessType['TypeArbService']:case WitnessType['TypeArbProgress']:case WitnessType['TypeArbMachine']:return ObjectType['Arb'];case WitnessType['TypeOrderMachine']:case WitnessType['TypeOrderService']:case WitnessType['TypeOrderProgress']:return ObjectType['Order'];case WitnessType['TypeProgressMachine']:return ObjectType['Progress'];}};export const WitnessTargetType=a=>{switch(a){case WitnessType['TypeArbArbitration']:return ObjectType['Arbitration'];case WitnessType['TypeOrderMachine']:case WitnessType['TypeArbMachine']:case WitnessType['TypeProgressMachine']:return ObjectType['Machine'];case WitnessType['TypeOrderService']:case WitnessType['TypeArbService']:return ObjectType['Service'];case WitnessType['TypeOrderProgress']:case WitnessType['TypeArbProgress']:return ObjectType['Progress'];case WitnessType['TypeArbOrder']:return ObjectType['Order'];}};export const OBJECT_TYPE_DEFINITIONS={[ObjectType['Permission']]:{'name':ObjectType['Permission'],'moveValue':0x0,'moveName':'Permission'},[ObjectType['Repository']]:{'name':ObjectType['Repository'],'moveValue':0x1,'moveName':'Repository'},[ObjectType['Arb']]:{'name':ObjectType['Arb'],'moveValue':0x2,'moveName':'Arb'},[ObjectType['Arbitration']]:{'name':ObjectType['Arbitration'],'moveValue':0x3,'moveName':'Arbitration'},[ObjectType['Service']]:{'name':ObjectType['Service'],'moveValue':0x4,'moveName':'Service'},[ObjectType['Machine']]:{'name':ObjectType['Machine'],'moveValue':0x5,'moveName':'Machine'},[ObjectType['Order']]:{'name':ObjectType['Order'],'moveValue':0x6,'moveName':'Order'},[ObjectType['Progress']]:{'name':ObjectType['Progress'],'moveValue':0x7,'moveName':'Progress'},[ObjectType['Payment']]:{'name':ObjectType['Payment'],'moveValue':0x8,'moveName':'Payment'},[ObjectType['Treasury']]:{'name':ObjectType['Treasury'],'moveValue':0x9,'moveName':'Treasury'},[ObjectType['Guard']]:{'name':ObjectType['Guard'],'moveValue':0xa,'moveName':'Guard'},[ObjectType['Demand']]:{'name':ObjectType['Demand'],'moveValue':0xb,'moveName':'Demand'},[ObjectType['Passport']]:{'name':ObjectType['Passport'],'moveValue':0xc,'moveName':'Passport'},[ObjectType['Allocation']]:{'name':ObjectType['Allocation'],'moveValue':0xd,'moveName':'Allocation'},[ObjectType['Resource']]:{'name':ObjectType['Resource'],'moveValue':0xe,'moveName':'Resource'},[ObjectType['Reward']]:{'name':ObjectType['Reward'],'moveValue':0xf,'moveName':'Reward'},[ObjectType['Discount']]:{'name':ObjectType['Discount'],'moveValue':0x10,'moveName':'Discount'},[ObjectType['EntityRegistrar']]:{'name':ObjectType['EntityRegistrar'],'moveValue':0x11,'moveName':'EntityRegistrar'},[ObjectType['EntityLinker']]:{'name':ObjectType['EntityLinker'],'moveValue':0x12,'moveName':'EntityLinker'},[ObjectType['Proof']]:{'name':ObjectType['Proof'],'moveValue':0x13,'moveName':'Proof'},[ObjectType['Contact']]:{'name':ObjectType['Contact'],'moveValue':0x14,'moveName':'Contact'},[ObjectType['WReceivedObject']]:{'name':ObjectType['WReceivedObject'],'moveValue':0x15,'moveName':'WReceivedObject'},[ObjectType['TableItem_ProgressHistory']]:{'name':ObjectType['TableItem_ProgressHistory'],'moveValue':0x16,'moveName':'TableItem_ProgressHistory'},[ObjectType['TableItem_PermissionPerm']]:{'name':ObjectType['TableItem_PermissionPerm'],'moveValue':0x17,'moveName':'TableItem_PermissionPerm'},[ObjectType['TableItem_DemandPresenter']]:{'name':ObjectType['TableItem_DemandPresenter'],'moveValue':0x18,'moveName':'TableItem_DemandPresenter'},[ObjectType['TableItem_MachineNode']]:{'name':ObjectType['TableItem_MachineNode'],'moveValue':0x19,'moveName':'TableItem_MachineNode'},[ObjectType['TableItem_TreasuryHistory']]:{'name':ObjectType['TableItem_TreasuryHistory'],'moveValue':0x1a,'moveName':'TableItem_TreasuryHistory'},[ObjectType['TableItem_RepositoryData']]:{'name':ObjectType['TableItem_RepositoryData'],'moveValue':0x1b,'moveName':'TableItem_RepositoryData'},[ObjectType['TableItem_RewardRecord']]:{'name':ObjectType['TableItem_RewardRecord'],'moveValue':0x1c,'moveName':'TableItem_RewardRecord'},[ObjectType['TableItem_AddressMark']]:{'name':ObjectType['TableItem_AddressMark'],'moveValue':0x1d,'moveName':'TableItem_AddressMark'},[ObjectType['TableItem_EntityLinker']]:{'name':ObjectType['TableItem_EntityLinker'],'moveValue':0x1e,'moveName':'TableItem_EntityLinker'},[ObjectType['TableItem_EntityRegistrar']]:{'name':ObjectType['TableItem_EntityRegistrar'],'moveValue':0x1f,'moveName':'TableItem_EntityRegistrar'}};export const objectTypeToNumber=Object['fromEntries'](Object['entries'](OBJECT_TYPE_DEFINITIONS)['map'](([a,b])=>[a,b['moveValue']]));export const numberToObjectType=Object['fromEntries'](Object['entries'](OBJECT_TYPE_DEFINITIONS)['map'](([a,b])=>[b['moveValue'],a]));export function getObjectTypeFromNumber(a){return numberToObjectType[a];}export function getNumberFromObjectType(a){return objectTypeToNumber[a];}export function getObjectTypeDefinition(a){return OBJECT_TYPE_DEFINITIONS[a];}export function getObjectTypeDefinitionFromNumber(a){const b=numberToObjectType[a];return b?OBJECT_TYPE_DEFINITIONS[b]:undefined;}export function getObjectTypeFromMoveName(a){return Object['values'](OBJECT_TYPE_DEFINITIONS)['find'](b=>b['moveName']===a)?.['name'];}export function getMoveNameFromObjectType(a){return OBJECT_TYPE_DEFINITIONS[a]?.['moveName'];}export function getMoveNameFromNumber(a){return getObjectTypeDefinitionFromNumber(a)?.['moveName'];}export function getNumberFromMoveName(a){return Object['values'](OBJECT_TYPE_DEFINITIONS)['find'](b=>b['moveName']===a)?.['moveValue'];}export function getObjectTypesFromNumbers(a){return a['map'](getObjectTypeFromNumber);}export function getNumbersFromObjectTypes(a){return a['map'](getNumberFromObjectType);}export var AmountType;(function(a){a[a['GuardU64Identifier']=0x0]='GuardU64Identifier',a[a['Fixed']=0x1]='Fixed';}(AmountType||(AmountType={})));export var ArbStatus;(function(a){a[a['Principal_confirming']=0x0]='Principal_confirming',a[a['Arbitrator_confirming']=0x1]='Arbitrator_confirming',a[a['Voting']=0x2]='Voting',a[a['Arbitrated']=0x3]='Arbitrated',a[a['Objectionable']=0x4]='Objectionable',a[a['Finished']=0x5]='Finished',a[a['Withdrawn']=0x6]='Withdrawn';}(ArbStatus||(ArbStatus={})));export var DiscountType;(function(a){a[a['RATES']=0x0]='RATES',a[a['FIXED']=0x1]='FIXED';}(DiscountType||(DiscountType={})));export var TreasuryOp;(function(a){a[a['Withdraw']=0x0]='Withdraw',a[a['Deposit']=0x1]='Deposit',a[a['Receive']=0x2]='Receive';}(TreasuryOp||(TreasuryOp={})));export var IdFrom;(function(a){a[a['None']=0x0]='None',a[a['Clock']=0x1]='Clock',a[a['Signer']=0x2]='Signer';}(IdFrom||(IdFrom={})));export const parseIdFrom=a=>{if(typeof a==='number'){if(a>=0x0&&a<=0x2)return a;throw new Error('Invalid\x20IdFrom\x20number:\x20'+a+'.\x20Valid\x20range:\x200-2');}const b=Object['keys'](IdFrom)['filter'](e=>isNaN(Number(e))),c=a['toLowerCase'](),d=b['find'](e=>e['toLowerCase']()===c);if(d===undefined)throw new Error('Invalid\x20IdFrom\x20string:\x20\x22'+a+'\x22.\x20Valid\x20values:\x20'+b['join'](',\x20'));return IdFrom[d];};export const idFromToString=a=>{return IdFrom[a];};export const isValidIdFromInput=a=>{if(typeof a==='number')return a>=0x0&&a<=0x2;if(typeof a==='string'){const b=a['toUpperCase'](),c=IdFrom[b];return typeof c==='number';}return![];};export var AllocationMode;(function(a){a[a['Amount']=0x0]='Amount',a[a['Rate']=0x1]='Rate',a[a['Surplus']=0x2]='Surplus';}(AllocationMode||(AllocationMode={})));export const query_objects_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_objects(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}};export const query_table_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_table(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}};export const query_objects=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a203a['uniq'](a['objects']);c['length']>MAX_OBJECTS_PER_QUERY&&W_ERROR(WErrors['MaxObjectsPerQuery'],'max\x20'+MAX_OBJECTS_PER_QUERY);const d=await LocalMark['Instance']()['get_many_address'](c),e=new Map(),f=[];c['forEach']((k,l)=>{const m=d[l];m&&(e['set'](m,k),f['push'](m));});if(f['length']===0x0)return{'objects':[]};const g=CachePrefix['object']+':'+b,h=f,i=await Cache['read_many'](g,h,async(k,l)=>{const m=new SuiClient({'url':getFullnodeUrl(b)}),n=await m['multiGetObjects']({'ids':[...l],'options':{'showContent':!![],'showOwner':!![],'showPreviousTransaction':!![]}});return n['map'](o=>{const p=o?.['data'];if(!p)return undefined;const q=p?.['type']??p?.['content']?.['type']??undefined,r=q?object_name_from_type(q):undefined,s=Cache['DefaultExpireTime'](r==='Guard'||r==='Payment'||r==='Passport'),t=data2object(p);return{'expire':s,'data':t};})['filter'](o=>o!==undefined);},a['no_cache']),j=i['map'](k=>{const l=k['data'];return l['cache_expire']=k['expire'],l['query_name']=e['get'](l['object'])??l['object'],l;});return{'objects':j};};export const query_personal=async a=>{const b=a['account']??'',[c,d]=await Promise['all']([Config['Instance']()['network_get'](a['network']),GetAccountOrMark_Address({'name_or_address':b})]);!d&&W_ERROR(WErrors['InvalidParam'],'query_personal.account\x20'+b+'\x20not\x20found');const [e,f]=await Promise['all']([queryTableItem_EntityRegistrar({'address':{'name_or_address':b},'no_cache':a['no_cache'],'network':c})['catch'](()=>undefined),queryTableItem_EntityLinker({'address':{'name_or_address':b},'no_cache':a['no_cache'],'network':c})['catch'](()=>undefined)]);if(e)return{'address':d,'info':e?.['records']??[],'description':e?.['description']??'','referrer':e?.['referrer']??null,'mark_object':e?.['mark_object']??null,'details':f?.['votes']??[],'like':f?.['votes']?.['filter'](g=>g['like'])['length']??0x0,'dislike':f?.['votes']?.['filter'](g=>g['dislike'])['length']??0x0,'active_tx':e?.['previousTransaction']??null,'passive_tx':f?.['previousTransaction']??null,'time':e?.['time']??0x0};return undefined;};export const query_table=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await LocalMark['Instance']()['get_address'](a['parent']);!c&&W_ERROR(WErrors['InvalidParam'],'query_table.query.parent\x20'+a['parent']+'\x20not\x20found');a['parent']=c;const e=await Cache['read']([CachePrefix['table'],a['parent'],a['cursor']??'',a['limit']?.['toString']()??'',b],async()=>{const f=new SuiClient({'url':getFullnodeUrl(b)}),g=await f['getDynamicFields']({'parentId':a['parent'],'cursor':a['cursor'],'limit':a['limit']});(!g?.['data']?.['length']||g?.['data']?.['length']===0x0)&&W_ERROR(WErrors['Fail'],'query_table.query.parent\x20'+a['parent']+'\x20failed');const h={'items':g?.['data']?.['map'](i=>{return{'object':i['objectId'],'type':i['type'],'version':i['version'],'key':{'type':i['name']['type'],'value':i['name']['value']}};}),'nextCursor':g['nextCursor'],'hasNextPage':g['hasNextPage']};return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(e){const f=e['data'];return f['cache_expire']=e['expire'],f;}return undefined;};const query_tableItem=async a=>{const b=await Config['Instance']()['network_get'](a['network']);if(a['parent']!==ENTITY_REGISTRAR_ADDRESS&&a['parent']!==ENTITY_LINKER_ADDRESS){const e=await LocalMark['Instance']()['get_address'](a['parent']);!e&&W_ERROR(WErrors['InvalidParam'],'query_tableItem.query.parent\x20'+a['parent']+'\x20not\x20found'),a['parent']=e;}const c=[CachePrefix['table'],a['parent'],JSON['stringify'](a['key']['value'])],d=await Cache['read'](c,async()=>{const f=new SuiClient({'url':getFullnodeUrl(b)}),g=await f['getDynamicFieldObject']({'parentId':a['parent'],'name':{'type':a['key']['type'],'value':a['key']['value']}});!g?.['data']&&W_ERROR(WErrors['Fail'],'query_tableItem('+a['key']['value']+'):\x20'+JSON['stringify'](g)+'\x20');const h=data2object(g?.['data']);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];return undefined;},tableItemQuery_byString=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']['object'];return await query_tableItem({'parent':b,'key':{'type':'0x1::string::String','value':a['key']},'no_cache':a['no_cache'],'network':a['network']});};export const queryTableItem_RepositoryData=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']?.['object'];let c;if(typeof a['entity']==='bigint'||typeof a['entity']==='number')c=uint2address(a['entity']);else{const e=await GetAccountOrMark_Address(a['entity']);if(e)c=e;else return W_ERROR(WErrors['InvalidParam'],'tableItem_RepositoryData.entity'),undefined;}const d=await query_tableItem({'parent':b,'key':{'type':PackageAddress+'::repository::DataKey','value':{'id':c,'key':a['name']}},'no_cache':a['no_cache'],'network':a['network']});if(d?.['type']!=='TableItem_RepositoryData')return undefined;return d;};const tableItem_byAddress=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']?.['object'];let c;if(typeof a['address']==='string')c=a['address'];else{const d=await GetAccountOrMark_Address(a['address']);if(!d)return W_ERROR(WErrors['InvalidParam'],'queryTableItem_byAddress.address\x20'+a['address']+'\x20not\x20found'),undefined;c=d;}return await query_tableItem({'parent':b,'key':{'type':'address','value':c},'no_cache':a['no_cache'],'network':a['network']});};export const queryTableItem_PermissionPerm=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_PermissionPerm')return undefined;return b;};export const queryTableItem_EntityRegistrar=async a=>{const b=await tableItem_byAddress({'parent':ENTITY_REGISTRAR_ADDRESS,'address':a['address'],'no_cache':a['no_cache'],'network':a['network']});if(b?.['type']!=='TableItem_EntityRegistrar')return undefined;return b;};export const queryTableItem_EntityLinker=async a=>{const b=await tableItem_byAddress({'parent':ENTITY_LINKER_ADDRESS,'address':a['address'],'no_cache':a['no_cache'],'network':a['network']});if(b?.['type']!=='TableItem_EntityLinker')return undefined;return b;};export const queryTableItem_RewardRecord=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_RewardRecord')return undefined;return b;};export const queryTableItem_DemandPresenter=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_DemandPresenter')return undefined;return b;};export const queryTableItem_TreasuryHistory=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_TreasuryHistory')return undefined;return b;};export const queryTableItem_MachineNode=async a=>{const b=await tableItemQuery_byString(a);if(b?.['type']!=='TableItem_MachineNode')return undefined;return b;};export const queryTableItem_AddressMark=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_AddressMark')return undefined;return b;};export const queryTableItem_ProgressHistory=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']['object'],c=await query_tableItem({'parent':b,'key':{'type':'u64','value':a['u64']['toString']()},'no_cache':a['no_cache'],'network':a['network']});if(c?.['type']!=='TableItem_ProgressHistory')return undefined;return c;};export function raw2type(a){if(!a)return undefined;const b=object_name_from_type(a);if(b==='Resource')return ObjectType['Resource'];else{if(b==='CoinWrapper')return ObjectType['WReceivedObject'];else{if(Object['values'](ObjectType)['includes'](b))return b;}}const c=a?.['indexOf']('0x2::dynamic_field::Field<');if(c===0x0){const d=a?.['substring']('0x2::dynamic_field::Field<'['length']);if(d){if(d['includes']('::demand::ServiceInfo>'))return ObjectType['TableItem_DemandPresenter'];else{if(d['includes']('::machine::NodePair>>>'))return ObjectType['TableItem_MachineNode'];else{if(d['includes']('::progress::History>'))return ObjectType['TableItem_ProgressHistory'];else{if(d['includes']('::reward::RecipientRecord>'))return ObjectType['TableItem_RewardRecord'];else{if(d['includes']('::treasury::Record>'))return ObjectType['TableItem_TreasuryHistory'];else{if(d['includes']('::registrar::Votes>'))return ObjectType['TableItem_EntityLinker'];else{if(d['indexOf']('address')<d['indexOf']('0x2::parent_linked_table::Node<address,\x20vector<u16>>>'))return ObjectType['TableItem_PermissionPerm'];else{if(d['includes']('::repository::DataKey'))return ObjectType['TableItem_RepositoryData'];else{if(d['includes']('::registrar::AddressInfo>'))return ObjectType['TableItem_EntityRegistrar'];else{if(d['includes']('::resource::AddressTag>'))return ObjectType['TableItem_AddressMark'];}}}}}}}}}}}return undefined;}export function data2object(a){const b=a?.['content']?.['fields'],c=a?.['objectId']??b?.['id']?.['id']??undefined,d=a?.['type']??a?.['content']?.['type']??undefined,e=a?.['version']??undefined,f=a?.['owner']??undefined,g=raw2type(d);switch(g){case'Permission':return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'builder':b?.['owner']??'','admin':b?.['admin'],'description':b?.['description']??'','entity_count':parseInt(b?.['table']?.['fields']?.['size']),'perm_remark':b?.['remark']?.['map'](h=>{return{'index':parseInt(h?.['fields']?.['index']),'remark':h?.['fields']?.['remark']};}),'um':b?.['um']??null};case'TableItem_PermissionPerm':return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'perm':b?.['value']?.['fields']?.['value']};case'Guard':{console['dir'](b,{'depth':null,'colors':!![]});const h=b?.['validated']?.['map'](l=>{return{'identifier':parseInt(l?.['fields']?.['identifier']),'object_type':numberToObjectType[l?.['fields']?.['object_type']]};}),i=b?.['table']?.['map'](l=>{const m=parseInt(l?.['fields']?.['identifier']),n=bcsBytesToValue(Uint8Array['from'](l?.['fields']?.['value']));return{'identifier':m,'b_submission':l?.['fields']?.['b_submission'],'value_type':l?.['fields']?.['value'][0x0],'value':n,'name':l?.['fields']?.['name'],'object_type':h['find'](o=>o['identifier']===m)?.['object_type']};}),j=restoreNodeFromOutput(Uint8Array['from'](b?.['input']),i),k=i['filter'](l=>!j['autoGeneratedIdentifiers']['includes'](l['identifier']));return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description']??'','table':k,'input':b?.['input'],'root':j['root'],'rep_quote':j['rep_quote'],'relies':b?.['relies'],'relies_logic_and':b?.['relies_logic_and'],'rep':b?.['rep']};}case'Passport':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'info':b?.['guard']?.['map'](l=>{return{'guard':l['fields']['guard'],'result':l['fields']['result'],'impack':l['fields']['impack'],'relies':l['fields']['relies'],'relies_logic_and':l['fields']['relies_logic_and'],'submission':l['fields']['submission']['map'](m=>{return{'identifier':m['fields']['identifier'],'value_type':m['fields']['value'][0x0],'value':bcsBytesToValue(Uint8Array['from'](m['fields']['value']))};})};}),'result':b?.['result'],'tx_hash':b?.['tx_hash'],'impack_guard':b?.['impack'],'time':b?.['time'],'signer':b?.['signer'],'has_verified':b?.['has_verified']};}case'Allocation':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['allocators']?.['fields']?.['description']??'','threshold':b?.['allocators']?.['fields']?.['threshold'],'balance':b?.['balance'],'payment_info':b?.['payment_info']?.['fields'],'payment':b?.['payment']??[],'allocators':b?.['allocators']?.['fields']?.['allocators']?.['map'](l=>{return{'guard':l['fields']['guard'],'fix':l['fields']['fix'],'max':l['fields']['max']??undefined,'sharing':l['fields']['sharing']['map'](m=>{let n;const o=m['fields']['who'];(!o||!o['variant'])&&W_ERROR(WErrors['ParseObjectContentFailed'],'Invalid\x20who\x20data:\x20'+JSON['stringify'](o));if(o['variant']==='GuardIdentifier'&&o['fields'])n={'GuardIdentifier':Number(o['fields']['pos0'])};else{if(o['variant']==='Entity'&&o['fields'])n={'Entity':{'name_or_address':o['fields']['pos0']}};else o['variant']==='Signer'?n={'Signer':null}:W_ERROR(WErrors['ParseObjectContentFailed'],'Invalid\x20who\x20variant:\x20'+o['variant']);}return{'who':n,'sharing':m['fields']['sharing'],'mode':m['fields']['mode']};})};})};}case'Payment':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'amount':b?.['amount'],'time':b?.['time'],'from_object':b?.['from_object'],'signer':b?.['signer'],'info':b?.['info']?.['fields'],'record':b?.['record']?.['map'](l=>{return{'recipient':l['fields']['recipient'],'amount':l['fields']['amount']};})};}case'Contact':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'ims':b?.['ims']['map'](l=>{return{'description':l['fields']['description'],'at':l['fields']['at'],'join_time':l['fields']['join_time'],'status':l['fields']['status']};}),'location':b?.['location'],'permission':b?.['permission']};}case'Repository':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'policies':b?.['policies']['map'](l=>{return{'description':l['fields']['description'],'id_from':l['fields']['id_from'],'name':l['fields']['name'],'quote_guard':l['fields']['quote_guard'],'value_type':l['fields']['value_type'],'write_guard':l['fields']['write_guard']};}),'rewards':b?.['rewards'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Demand':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'rewards':b?.['rewards'],'guards':b?.['guards']['map'](l=>{return{'guard':l['fields']['guard'],'service_identifier':l['fields']['service_identifier']};}),'presenters_count':b?.['presenters']?.['fields']?.['size'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Machine':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'node_count':b?.['nodes']?.['fields']?.['size'],'consensus_repositories':b?.['consensus_repositories'],'bPaused':b?.['bPaused'],'bPublished':b?.['bPublished'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Order':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'items':b?.['items']['map'](l=>{return{'name':l['fields']['item'],'price':l['fields']['price'],'quantity':l['fields']['quantity'],'wip_hash':l['fields']['wip_hash']};}),'discount':b?.['discount'],'progress':b?.['progress'],'machine':b?.['machine'],'amount':b?.['amount'],'builder':b?.['owner'],'service':b?.['service'],'dispute':b?.['dispute'],'agent':b?.['agent'],'allocation':b?.['allocation'],'claimed_by':b?.['claimed_by'],'required_info':b?.['required_info'],'time':b?.['time']};}case'Progress':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'machine':b?.['machine'],'context_repositories':b?.['context_repositories'],'current':b?.['current'],'task':b?.['task'],'namedOperator':b?.['namedOperator']['map'](l=>{return{'name':l['fields']['name'],'operators':l['fields']['operators']};}),'session':b?.['session']['map'](l=>{return{'next_node':l['fields']['next_node'],'forwards':l['fields']['forwards']['map'](m=>{return{'forward':m['fields']['forward'],'who':m['fields']['who'],'retained_submission':m['fields']['retained_submission']['map'](n=>{return{'identifier':n['fields']['identifier'],'value_type':n['fields']['value_type'],'value':bcsBytesToValue(Uint8Array['from'](n['fields']['value']))};}),'msg':m['fields']['msg'],'accomplished':m['fields']['accomplished'],'time':m['fields']['time']};}),'weights':l['fields']['weights'],'threshold':l['fields']['threshold']};}),'history_count':b?.['history']?.['fields']?.['contents']?.['fields']?.['size'],'current_time':b?.['current_time']};}case'Reward':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'guards':b?.['guards']['map'](l=>{const m=l['fields']['amount']['variant']==='Fixed'?AmountType['Fixed']:AmountType['GuardU64Identifier'],n=parseRecipient(l['fields']['recipient']);return{'guard':l['fields']['guard'],'expiration_time':l['fields']['expiration_time'],'amount':{'type':m,'value':l['fields']['amount']['fields']?.['pos0']},'recipient':n,'store_from_id':l['fields']['store_from_id']??null};}),'balance':b?.['balance'],'guard_not_added_expiration_time':b?.['guard_not_added_expiration_time'],'record_count':b?.['record']?.['fields']?.['size'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Service':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'sales':b?.['sales']?.['map'](l=>{return{'name':l['fields']['name'],'stock':l['fields']['stock'],'suspension':l['fields']['suspension'],'price':l['fields']['price'],'wip':l['fields']['wip'],'wip_hash':l['fields']['wip_hash']};}),'repositories':b?.['repositories'],'buy_guard':b?.['buy_guard'],'machine':b?.['machine'],'bPublished':b?.['bPublished'],'bPaused':b?.['bPaused'],'customer_required':b?.['customer_required'],'arbitrations':b?.['arbitrations'],'compensation_fund':b?.['compensation_fund'],'paused_time':b?.['paused_time'],'compensation_lock_duration':b?.['compensation_lock_duration'],'order_allocators':{'description':b?.['order_allocators']?.['fields']?.['description'],'threshold':b?.['order_allocators']?.['fields']?.['threshold'],'allocators':b?.['order_allocators']?.['fields']?.['allocators']['map'](l=>{return{'guard':l['fields']['guard'],'sharing':l['fields']['sharing']['map'](m=>{const n=parseRecipient(m['fields']['who']);return{'who':n,'sharing':m['fields']['sharing'],'mode':m['fields']['mode']};}),'fix':l['fields']['fix'],'max':l['fields']['max']};})},'rewards':b?.['rewards'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Discount':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'name':b?.['name'],'discount_type':b?.['discount_type'],'benchmark':b?.['benchmark'],'off':b?.['off'],'time_start':b?.['time_start'],'time_end':b?.['time_end'],'service':b?.['service'],'transferable':b?.['transferable']};}case'Arb':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'order':b?.['order'],'arbitration':b?.['arbitration'],'voted':b?.['voted']?.['map'](l=>{return{'voter':l['fields']['voter'],'agrees':l['fields']['agrees'],'weight':l['fields']['weight'],'time':l['fields']['time']};}),'proposition':b?.['proposition']?.['map'](l=>{return{'name':l['fields']['name'],'votes':l['fields']['votes']};}),'fee':b?.['fee'],'feedback':b?.['feedback'],'indemnity':b?.['indemnity']?{'amount':b?.['indemnity']?.['fields']?.['amount'],'time':b?.['indemnity']?.['fields']?.['time']}:null,'voting_deadline':b?.['voting_deadline'],'objection':b?.['objection'],'status':b?.['status'],'compensation_time':b?.['compensation_time'],'time':b?.['time']};}case'Arbitration':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'fee':b?.['fee'],'bPaused':b?.['bPaused'],'balance':b?.['balance'],'usage_guard':b?.['usage_guard'],'um':b?.['um']??null,'permission':b?.['permission'],'voting_guard':b?.['voting_guard']['map'](l=>{let m;if(l['fields']['vote_weight']['variant']==='GuardIdentifier')m={'GuardIdentifier':l['fields']['vote_weight']['fields']?.['pos0']};else l['fields']['vote_weight']['variant']==='FixedValue'?m={'FixedValue':l['fields']['vote_weight']['fields']?.['pos0']}:W_ERROR(WErrors['InvalidParam'],'vote_weight'+l['fields']['vote_weight']['variant']+'\x20invalid');return{'guard':l['fields']['guard'],'vote_weight':m};})};}case'Proof':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'proof':b?.['proof'],'server_pubkey':b?.['server_pubkey'],'server_signature':b?.['server_signature'],'proof_type':b?.['proof_type'],'item_count':b?.['item_count']??null,'about_address':b?.['about_address']??null,'signer':b?.['signer'],'time':b?.['time']};}case'Treasury':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'balance':b?.['balance'],'history_count':parseInt(b?.['history']?.['fields']?.['size']),'external_deposit_guard':b?.['external_deposit_guard']['map'](l=>({'guard':l['fields']['guard'],'identifier':l['fields']['identifier']??null,'store_from_id':l['fields']['store_from_id']??null})),'external_withdraw_guard':b?.['external_withdraw_guard']['map'](l=>({'guard':l['fields']['guard'],'identifier':l['fields']['identifier'],'store_from_id':l['fields']['store_from_id']??null})),'inflow':b?.['inflow'],'outflow':b?.['outflow'],'um':b?.['um']??null,'permission':b?.['permission']};}case'TableItem_DemandPresenter':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'recommend':b?.['value']?.['fields']?.['recommend'],'service':b?.['value']?.['fields']?.['service'],'update_time':b?.['value']?.['fields']?.['update_time'],'acceptance_score':b?.['value']?.['fields']?.['acceptance_score'],'feedback':b?.['value']?.['fields']?.['feedback'],'feedback_time':b?.['value']?.['fields']?.['feedback_time']};}case'TableItem_MachineNode':{return console['dir'](JSON['stringify'](b['value']['fields']['value']),{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'name':b?.['name'],'value':b?.['value']?.['fields']?.['value']?.['map'](l=>{return{'prev_node':l['fields']['prev_node'],'threshold':l['fields']['threshold'],'forwards':l['fields']['forwards']['map'](m=>{return{'name':m['fields']['name'],'weight':m['fields']['weight'],'namedOperator':m['fields']?.['namedOperator'],'permissionIndex':m['fields']?.['permissionIndex'],'guard':m['fields']?.['guard']?{'guard':m['fields']['guard']['fields']?.['guard'],'retained_submission':m['fields']['guard']['fields']?.['retained_submission']}:undefined};})};})};}case'TableItem_ProgressHistory':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'index':b?.['name'],'node':b?.['value']?.['fields']?.['node'],'next_node':b?.['value']?.['fields']?.['next_node'],'session':b?.['value']?.['fields']?.['session']['map'](l=>{return{'next_node':l['fields']['next_node'],'weights':l['fields']['weights'],'threshold':l['fields']['threshold'],'forwards':l['fields']['forwards']?.['map'](m=>{return{'forward':m['fields']['forward'],'who':m['fields']['who'],'msg':m['fields']['msg'],'accomplished':m['fields']['accomplished'],'time':m['fields']['time'],'retained_submission':m['fields']['retained_submission']?.['map'](n=>{return{'identifier':n['fields']['identifier'],'value_type':n['fields']['value_type'][0x0],'value':bcsBytesToValue(Uint8Array['from'](n['fields']['value']))};})};})};}),'time':b?.['value']?.['time']};}case'TableItem_TreasuryHistory':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'payment':b?.['name'],'op':b?.['value']?.['fields']?.['op'],'signer':b?.['value']?.['fields']?.['signer'],'external_guard':b?.['value']?.['fields']?.['external_guard'],'amount':b?.['value']?.['fields']?.['amount'],'time':b?.['value']?.['fields']?.['time'],'store_from_id':b?.['value']?.['fields']?.['store_from_id']??null};}case'TableItem_EntityLinker':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'pos':b?.['value']?.['fields']?.['pos'],'count':b?.['value']?.['fields']?.['count'],'votes':b?.['value']?.['fields']?.['votes']?.['map'](l=>{return{'who':l['fields']['who'],'info':l['fields']['info'],'like':(l['fields']['info']&0x2)!==0x0,'dislike':(l['fields']['info']&0x4)!==0x0,'affiliation':(l['fields']['info']&0x8)!==0x0,'time':l['fields']['time']};})};}case'TableItem_EntityRegistrar':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'description':b?.['value']?.['fields']?.['description'],'time':b?.['value']?.['fields']?.['time'],'referrer':b?.['referrer'],'mark_object':b?.['value']?.['fields']?.['resource'],'records':b?.['value']?.['fields']?.['records']?.['map'](l=>{return{'name':l['fields']['name'],'typed_value':l['fields']['typed_value'],'value':bcsBytesToValue(Uint8Array['from'](l['fields']['typed_value']))};})};}case'Resource':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}case'TableItem_AddressMark':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity':b?.['name'],'name':b?.['value']?.['fields']?.['name'],'tags':b?.['value']?.['fields']?.['tags']};}case'TableItem_RepositoryData':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity':b?.['name']?.['fields']?.['id'],'name':b?.['name']?.['fields']?.['key'],'value':b?.['value'],'data':{'value_type':b?.['value'][0x0],'value':bcsBytesToValue(Uint8Array['from'](b['value']))}};}case'TableItem_RewardRecord':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'recipient':b?.['name'],'guard':b?.['value']?.['fields']?.['guard'],'total':b?.['value']?.['fields']?.['total'],'record':b?.['value']?.['fields']?.['amount']['map'](l=>{return{'amount':l['fields']['amount'],'time':l['fields']['time'],'store_from_id':l['fields']['store_from_id']??null};})};}case'EntityRegistrar':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}case'EntityLinker':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}}return{'object':c,'type':undefined,'type_raw':d,'owner':f,'version':e};}
|
|
1
|
+
import{getFullnodeUrl}from'../../client/network.js';import{SuiClient}from'../../client/index.js';import{Cache,CachePrefix}from'../local/cache.js';import{Config}from'../local/config.js';import{LocalMark}from'../local/local.js';import{W_ERROR,WErrors}from'../exception.js';import a188a from'lodash';import{restoreNodeFromOutput}from'../call/util.js';import{GetAccountOrMark_Address}from'../local/index.js';import{object_name_from_type,PackageAddress,WitnessType,ObjectType,ENTITY_LINKER_ADDRESS,ENTITY_REGISTRAR_ADDRESS}from'../common.js';import{bcsBytesToValue,parseRecipient,uint2address}from'../util.js';export{ObjectType};export const MAX_OBJECTS_PER_QUERY=0x32;export const WitnessSourceType=a=>{switch(a){case WitnessType['TypeArbArbitration']:case WitnessType['TypeArbOrder']:case WitnessType['TypeArbService']:case WitnessType['TypeArbProgress']:case WitnessType['TypeArbMachine']:return ObjectType['Arb'];case WitnessType['TypeOrderMachine']:case WitnessType['TypeOrderService']:case WitnessType['TypeOrderProgress']:return ObjectType['Order'];case WitnessType['TypeProgressMachine']:return ObjectType['Progress'];}};export const WitnessTargetType=a=>{switch(a){case WitnessType['TypeArbArbitration']:return ObjectType['Arbitration'];case WitnessType['TypeOrderMachine']:case WitnessType['TypeArbMachine']:case WitnessType['TypeProgressMachine']:return ObjectType['Machine'];case WitnessType['TypeOrderService']:case WitnessType['TypeArbService']:return ObjectType['Service'];case WitnessType['TypeOrderProgress']:case WitnessType['TypeArbProgress']:return ObjectType['Progress'];case WitnessType['TypeArbOrder']:return ObjectType['Order'];}};export const OBJECT_TYPE_DEFINITIONS={[ObjectType['Permission']]:{'name':ObjectType['Permission'],'moveValue':0x0,'moveName':'Permission'},[ObjectType['Repository']]:{'name':ObjectType['Repository'],'moveValue':0x1,'moveName':'Repository'},[ObjectType['Arb']]:{'name':ObjectType['Arb'],'moveValue':0x2,'moveName':'Arb'},[ObjectType['Arbitration']]:{'name':ObjectType['Arbitration'],'moveValue':0x3,'moveName':'Arbitration'},[ObjectType['Service']]:{'name':ObjectType['Service'],'moveValue':0x4,'moveName':'Service'},[ObjectType['Machine']]:{'name':ObjectType['Machine'],'moveValue':0x5,'moveName':'Machine'},[ObjectType['Order']]:{'name':ObjectType['Order'],'moveValue':0x6,'moveName':'Order'},[ObjectType['Progress']]:{'name':ObjectType['Progress'],'moveValue':0x7,'moveName':'Progress'},[ObjectType['Payment']]:{'name':ObjectType['Payment'],'moveValue':0x8,'moveName':'Payment'},[ObjectType['Treasury']]:{'name':ObjectType['Treasury'],'moveValue':0x9,'moveName':'Treasury'},[ObjectType['Guard']]:{'name':ObjectType['Guard'],'moveValue':0xa,'moveName':'Guard'},[ObjectType['Demand']]:{'name':ObjectType['Demand'],'moveValue':0xb,'moveName':'Demand'},[ObjectType['Passport']]:{'name':ObjectType['Passport'],'moveValue':0xc,'moveName':'Passport'},[ObjectType['Allocation']]:{'name':ObjectType['Allocation'],'moveValue':0xd,'moveName':'Allocation'},[ObjectType['Resource']]:{'name':ObjectType['Resource'],'moveValue':0xe,'moveName':'Resource'},[ObjectType['Reward']]:{'name':ObjectType['Reward'],'moveValue':0xf,'moveName':'Reward'},[ObjectType['Discount']]:{'name':ObjectType['Discount'],'moveValue':0x10,'moveName':'Discount'},[ObjectType['EntityRegistrar']]:{'name':ObjectType['EntityRegistrar'],'moveValue':0x11,'moveName':'EntityRegistrar'},[ObjectType['EntityLinker']]:{'name':ObjectType['EntityLinker'],'moveValue':0x12,'moveName':'EntityLinker'},[ObjectType['Proof']]:{'name':ObjectType['Proof'],'moveValue':0x13,'moveName':'Proof'},[ObjectType['Contact']]:{'name':ObjectType['Contact'],'moveValue':0x14,'moveName':'Contact'},[ObjectType['WReceivedObject']]:{'name':ObjectType['WReceivedObject'],'moveValue':0x15,'moveName':'WReceivedObject'},[ObjectType['TableItem_ProgressHistory']]:{'name':ObjectType['TableItem_ProgressHistory'],'moveValue':0x16,'moveName':'TableItem_ProgressHistory'},[ObjectType['TableItem_PermissionPerm']]:{'name':ObjectType['TableItem_PermissionPerm'],'moveValue':0x17,'moveName':'TableItem_PermissionPerm'},[ObjectType['TableItem_DemandPresenter']]:{'name':ObjectType['TableItem_DemandPresenter'],'moveValue':0x18,'moveName':'TableItem_DemandPresenter'},[ObjectType['TableItem_MachineNode']]:{'name':ObjectType['TableItem_MachineNode'],'moveValue':0x19,'moveName':'TableItem_MachineNode'},[ObjectType['TableItem_TreasuryHistory']]:{'name':ObjectType['TableItem_TreasuryHistory'],'moveValue':0x1a,'moveName':'TableItem_TreasuryHistory'},[ObjectType['TableItem_RepositoryData']]:{'name':ObjectType['TableItem_RepositoryData'],'moveValue':0x1b,'moveName':'TableItem_RepositoryData'},[ObjectType['TableItem_RewardRecord']]:{'name':ObjectType['TableItem_RewardRecord'],'moveValue':0x1c,'moveName':'TableItem_RewardRecord'},[ObjectType['TableItem_AddressMark']]:{'name':ObjectType['TableItem_AddressMark'],'moveValue':0x1d,'moveName':'TableItem_AddressMark'},[ObjectType['TableItem_EntityLinker']]:{'name':ObjectType['TableItem_EntityLinker'],'moveValue':0x1e,'moveName':'TableItem_EntityLinker'},[ObjectType['TableItem_EntityRegistrar']]:{'name':ObjectType['TableItem_EntityRegistrar'],'moveValue':0x1f,'moveName':'TableItem_EntityRegistrar'}};export const objectTypeToNumber=Object['fromEntries'](Object['entries'](OBJECT_TYPE_DEFINITIONS)['map'](([a,b])=>[a,b['moveValue']]));export const numberToObjectType=Object['fromEntries'](Object['entries'](OBJECT_TYPE_DEFINITIONS)['map'](([a,b])=>[b['moveValue'],a]));export function getObjectTypeFromNumber(a){return numberToObjectType[a];}export function getNumberFromObjectType(a){return objectTypeToNumber[a];}export function getObjectTypeDefinition(a){return OBJECT_TYPE_DEFINITIONS[a];}export function getObjectTypeDefinitionFromNumber(a){const b=numberToObjectType[a];return b?OBJECT_TYPE_DEFINITIONS[b]:undefined;}export function getObjectTypeFromMoveName(a){return Object['values'](OBJECT_TYPE_DEFINITIONS)['find'](b=>b['moveName']===a)?.['name'];}export function getMoveNameFromObjectType(a){return OBJECT_TYPE_DEFINITIONS[a]?.['moveName'];}export function getMoveNameFromNumber(a){return getObjectTypeDefinitionFromNumber(a)?.['moveName'];}export function getNumberFromMoveName(a){return Object['values'](OBJECT_TYPE_DEFINITIONS)['find'](b=>b['moveName']===a)?.['moveValue'];}export function getObjectTypesFromNumbers(a){return a['map'](getObjectTypeFromNumber);}export function getNumbersFromObjectTypes(a){return a['map'](getNumberFromObjectType);}export var AmountType;(function(a){a[a['GuardU64Identifier']=0x0]='GuardU64Identifier',a[a['Fixed']=0x1]='Fixed';}(AmountType||(AmountType={})));export var ArbStatus;(function(a){a[a['Principal_confirming']=0x0]='Principal_confirming',a[a['Arbitrator_confirming']=0x1]='Arbitrator_confirming',a[a['Voting']=0x2]='Voting',a[a['Arbitrated']=0x3]='Arbitrated',a[a['Objectionable']=0x4]='Objectionable',a[a['Finished']=0x5]='Finished',a[a['Withdrawn']=0x6]='Withdrawn';}(ArbStatus||(ArbStatus={})));export var DiscountType;(function(a){a[a['RATES']=0x0]='RATES',a[a['FIXED']=0x1]='FIXED';}(DiscountType||(DiscountType={})));export var TreasuryOp;(function(a){a[a['Withdraw']=0x0]='Withdraw',a[a['Deposit']=0x1]='Deposit',a[a['Receive']=0x2]='Receive';}(TreasuryOp||(TreasuryOp={})));export var IdFrom;(function(a){a[a['None']=0x0]='None',a[a['Clock']=0x1]='Clock',a[a['Signer']=0x2]='Signer';}(IdFrom||(IdFrom={})));export const parseIdFrom=a=>{if(typeof a==='number'){if(a>=0x0&&a<=0x2)return a;throw new Error('Invalid\x20IdFrom\x20number:\x20'+a+'.\x20Valid\x20range:\x200-2');}const b=Object['keys'](IdFrom)['filter'](e=>isNaN(Number(e))),c=a['toLowerCase'](),d=b['find'](e=>e['toLowerCase']()===c);if(d===undefined)throw new Error('Invalid\x20IdFrom\x20string:\x20\x22'+a+'\x22.\x20Valid\x20values:\x20'+b['join'](',\x20'));return IdFrom[d];};export const idFromToString=a=>{return IdFrom[a];};export const isValidIdFromInput=a=>{if(typeof a==='number')return a>=0x0&&a<=0x2;if(typeof a==='string'){const b=a['toUpperCase'](),c=IdFrom[b];return typeof c==='number';}return![];};export var AllocationMode;(function(a){a[a['Amount']=0x0]='Amount',a[a['Rate']=0x1]='Rate',a[a['Surplus']=0x2]='Surplus';}(AllocationMode||(AllocationMode={})));export const query_objects_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_objects(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}};export const query_table_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_table(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}};export const query_objects=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a188a['uniq'](a['objects']);c['length']>MAX_OBJECTS_PER_QUERY&&W_ERROR(WErrors['MaxObjectsPerQuery'],'max\x20'+MAX_OBJECTS_PER_QUERY);const d=await LocalMark['Instance']()['get_many_address'](c),e=new Map(),f=[];c['forEach']((k,l)=>{const m=d[l];m&&(e['set'](m,k),f['push'](m));});if(f['length']===0x0)return{'objects':[]};const g=CachePrefix['object']+':'+b,h=f,i=await Cache['read_many'](g,h,async(k,l)=>{const m=new SuiClient({'url':getFullnodeUrl(b)}),n=await m['multiGetObjects']({'ids':[...l],'options':{'showContent':!![],'showOwner':!![],'showPreviousTransaction':!![]}});return n['map'](o=>{const p=o?.['data'];if(!p)return undefined;const q=p?.['type']??p?.['content']?.['type']??undefined,r=q?object_name_from_type(q):undefined,s=Cache['DefaultExpireTime'](r==='Guard'||r==='Payment'||r==='Passport'),t=data2object(p);return{'expire':s,'data':t};})['filter'](o=>o!==undefined);},a['no_cache']),j=i['map'](k=>{const l=k['data'];return l['cache_expire']=k['expire'],l['query_name']=e['get'](l['object'])??l['object'],l;});return{'objects':j};};export const query_personal=async a=>{const b=a['account']??'',[c,d]=await Promise['all']([Config['Instance']()['network_get'](a['network']),GetAccountOrMark_Address({'name_or_address':b})]);!d&&W_ERROR(WErrors['InvalidParam'],'query_personal.account\x20'+b+'\x20not\x20found');const [e,f]=await Promise['all']([queryTableItem_EntityRegistrar({'address':{'name_or_address':b},'no_cache':a['no_cache'],'network':c})['catch'](()=>undefined),queryTableItem_EntityLinker({'address':{'name_or_address':b},'no_cache':a['no_cache'],'network':c})['catch'](()=>undefined)]);if(e)return{'address':d,'info':e?.['records']??[],'description':e?.['description']??'','referrer':e?.['referrer']??null,'mark_object':e?.['mark_object']??null,'details':f?.['votes']??[],'like':f?.['votes']?.['filter'](g=>g['like'])['length']??0x0,'dislike':f?.['votes']?.['filter'](g=>g['dislike'])['length']??0x0,'active_tx':e?.['previousTransaction']??null,'passive_tx':f?.['previousTransaction']??null,'time':e?.['time']??0x0};return undefined;};export const query_table=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await LocalMark['Instance']()['get_address'](a['parent']);!c&&W_ERROR(WErrors['InvalidParam'],'query_table.query.parent\x20'+a['parent']+'\x20not\x20found');a['parent']=c;const e=await Cache['read']([CachePrefix['table'],a['parent'],a['cursor']??'',a['limit']?.['toString']()??'',b],async()=>{const f=new SuiClient({'url':getFullnodeUrl(b)}),g=await f['getDynamicFields']({'parentId':a['parent'],'cursor':a['cursor'],'limit':a['limit']});(!g?.['data']?.['length']||g?.['data']?.['length']===0x0)&&W_ERROR(WErrors['Fail'],'query_table.query.parent\x20'+a['parent']+'\x20failed');const h={'items':g?.['data']?.['map'](i=>{return{'object':i['objectId'],'type':i['type'],'version':i['version'],'key':{'type':i['name']['type'],'value':i['name']['value']}};}),'nextCursor':g['nextCursor'],'hasNextPage':g['hasNextPage']};return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(e){const f=e['data'];return f['cache_expire']=e['expire'],f;}return undefined;};const query_tableItem=async a=>{const b=await Config['Instance']()['network_get'](a['network']);if(a['parent']!==ENTITY_REGISTRAR_ADDRESS&&a['parent']!==ENTITY_LINKER_ADDRESS){const e=await LocalMark['Instance']()['get_address'](a['parent']);!e&&W_ERROR(WErrors['InvalidParam'],'query_tableItem.query.parent\x20'+a['parent']+'\x20not\x20found'),a['parent']=e;}const c=[CachePrefix['table'],a['parent'],JSON['stringify'](a['key']['value'])],d=await Cache['read'](c,async()=>{const f=new SuiClient({'url':getFullnodeUrl(b)}),g=await f['getDynamicFieldObject']({'parentId':a['parent'],'name':{'type':a['key']['type'],'value':a['key']['value']}});!g?.['data']&&W_ERROR(WErrors['Fail'],'query_tableItem('+a['key']['value']+'):\x20'+JSON['stringify'](g)+'\x20');const h=data2object(g?.['data']);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];return undefined;},tableItemQuery_byString=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']['object'];return await query_tableItem({'parent':b,'key':{'type':'0x1::string::String','value':a['key']},'no_cache':a['no_cache'],'network':a['network']});};export const queryTableItem_RepositoryData=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']?.['object'];let c;if(typeof a['entity']==='bigint'||typeof a['entity']==='number')c=uint2address(a['entity']);else{const e=await GetAccountOrMark_Address(a['entity']);if(e)c=e;else return W_ERROR(WErrors['InvalidParam'],'tableItem_RepositoryData.entity'),undefined;}const d=await query_tableItem({'parent':b,'key':{'type':PackageAddress+'::repository::DataKey','value':{'id':c,'key':a['name']}},'no_cache':a['no_cache'],'network':a['network']});if(d?.['type']!=='TableItem_RepositoryData')return undefined;return d;};const tableItem_byAddress=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']?.['object'];let c;if(typeof a['address']==='string')c=a['address'];else{const d=await GetAccountOrMark_Address(a['address']);if(!d)return W_ERROR(WErrors['InvalidParam'],'queryTableItem_byAddress.address\x20'+a['address']+'\x20not\x20found'),undefined;c=d;}return await query_tableItem({'parent':b,'key':{'type':'address','value':c},'no_cache':a['no_cache'],'network':a['network']});};export const queryTableItem_PermissionPerm=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_PermissionPerm')return undefined;return b;};export const queryTableItem_EntityRegistrar=async a=>{const b=await tableItem_byAddress({'parent':ENTITY_REGISTRAR_ADDRESS,'address':a['address'],'no_cache':a['no_cache'],'network':a['network']});if(b?.['type']!=='TableItem_EntityRegistrar')return undefined;return b;};export const queryTableItem_EntityLinker=async a=>{const b=await tableItem_byAddress({'parent':ENTITY_LINKER_ADDRESS,'address':a['address'],'no_cache':a['no_cache'],'network':a['network']});if(b?.['type']!=='TableItem_EntityLinker')return undefined;return b;};export const queryTableItem_RewardRecord=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_RewardRecord')return undefined;return b;};export const queryTableItem_DemandPresenter=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_DemandPresenter')return undefined;return b;};export const queryTableItem_TreasuryHistory=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_TreasuryHistory')return undefined;return b;};export const queryTableItem_MachineNode=async a=>{const b=await tableItemQuery_byString(a);if(b?.['type']!=='TableItem_MachineNode')return undefined;return b;};export const queryTableItem_AddressMark=async a=>{const b=await tableItem_byAddress(a);if(b?.['type']!=='TableItem_AddressMark')return undefined;return b;};export const queryTableItem_ProgressHistory=async a=>{const b=typeof a['parent']==='string'?a['parent']:a['parent']['object'],c=await query_tableItem({'parent':b,'key':{'type':'u64','value':a['u64']['toString']()},'no_cache':a['no_cache'],'network':a['network']});if(c?.['type']!=='TableItem_ProgressHistory')return undefined;return c;};export function raw2type(a){if(!a)return undefined;const b=object_name_from_type(a);if(b==='Resource')return ObjectType['Resource'];else{if(b==='CoinWrapper')return ObjectType['WReceivedObject'];else{if(Object['values'](ObjectType)['includes'](b))return b;}}const c=a?.['indexOf']('0x2::dynamic_field::Field<');if(c===0x0){const d=a?.['substring']('0x2::dynamic_field::Field<'['length']);if(d){if(d['includes']('::demand::ServiceInfo>'))return ObjectType['TableItem_DemandPresenter'];else{if(d['includes']('::machine::NodePair>>>'))return ObjectType['TableItem_MachineNode'];else{if(d['includes']('::progress::History>'))return ObjectType['TableItem_ProgressHistory'];else{if(d['includes']('::reward::RecipientRecord>'))return ObjectType['TableItem_RewardRecord'];else{if(d['includes']('::treasury::Record>'))return ObjectType['TableItem_TreasuryHistory'];else{if(d['includes']('::registrar::Votes>'))return ObjectType['TableItem_EntityLinker'];else{if(d['indexOf']('address')<d['indexOf']('0x2::parent_linked_table::Node<address,\x20vector<u16>>>'))return ObjectType['TableItem_PermissionPerm'];else{if(d['includes']('::repository::DataKey'))return ObjectType['TableItem_RepositoryData'];else{if(d['includes']('::registrar::AddressInfo>'))return ObjectType['TableItem_EntityRegistrar'];else{if(d['includes']('::resource::AddressTag>'))return ObjectType['TableItem_AddressMark'];}}}}}}}}}}}return undefined;}export function data2object(a){const b=a?.['content']?.['fields'],c=a?.['objectId']??b?.['id']?.['id']??undefined,d=a?.['type']??a?.['content']?.['type']??undefined,e=a?.['version']??undefined,f=a?.['owner']??undefined,g=raw2type(d);switch(g){case'Permission':return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'builder':b?.['owner']??'','admin':b?.['admin'],'description':b?.['description']??'','entity_count':parseInt(b?.['table']?.['fields']?.['size']),'perm_remark':b?.['remark']?.['map'](h=>{return{'index':parseInt(h?.['fields']?.['index']),'remark':h?.['fields']?.['remark']};}),'um':b?.['um']??null};case'TableItem_PermissionPerm':return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'perm':b?.['value']?.['fields']?.['value']};case'Guard':{console['dir'](b,{'depth':null,'colors':!![]});const h=b?.['validated']?.['map'](l=>{return{'identifier':parseInt(l?.['fields']?.['identifier']),'object_type':numberToObjectType[l?.['fields']?.['object_type']]};}),i=b?.['table']?.['map'](l=>{const m=parseInt(l?.['fields']?.['identifier']),n=bcsBytesToValue(Uint8Array['from'](l?.['fields']?.['value']));return{'identifier':m,'b_submission':l?.['fields']?.['b_submission'],'value_type':l?.['fields']?.['value'][0x0],'value':n,'name':l?.['fields']?.['name'],'object_type':h['find'](o=>o['identifier']===m)?.['object_type']};}),j=restoreNodeFromOutput(Uint8Array['from'](b?.['input']),i),k=i['filter'](l=>!j['autoGeneratedIdentifiers']['includes'](l['identifier']));return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description']??'','table':k,'input':b?.['input'],'root':j['root'],'rep_quote':j['rep_quote'],'relies':b?.['relies'],'relies_logic_and':b?.['relies_logic_and'],'rep':b?.['rep']};}case'Passport':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'info':b?.['guard']?.['map'](l=>{return{'guard':l['fields']['guard'],'result':l['fields']['result'],'impack':l['fields']['impack'],'relies':l['fields']['relies'],'relies_logic_and':l['fields']['relies_logic_and'],'submission':l['fields']['submission']['map'](m=>{return{'identifier':m['fields']['identifier'],'value_type':m['fields']['value'][0x0],'value':bcsBytesToValue(Uint8Array['from'](m['fields']['value']))};})};}),'result':b?.['result'],'tx_hash':b?.['tx_hash'],'impack_guard':b?.['impack'],'time':b?.['time'],'signer':b?.['signer'],'has_verified':b?.['has_verified']};}case'Allocation':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['allocators']?.['fields']?.['description']??'','threshold':b?.['allocators']?.['fields']?.['threshold'],'balance':b?.['balance'],'payment_info':b?.['payment_info']?.['fields'],'payment':b?.['payment']??[],'allocators':b?.['allocators']?.['fields']?.['allocators']?.['map'](l=>{return{'guard':l['fields']['guard'],'fix':l['fields']['fix'],'max':l['fields']['max']??undefined,'sharing':l['fields']['sharing']['map'](m=>{let n;const o=m['fields']['who'];(!o||!o['variant'])&&W_ERROR(WErrors['ParseObjectContentFailed'],'Invalid\x20who\x20data:\x20'+JSON['stringify'](o));if(o['variant']==='GuardIdentifier'&&o['fields'])n={'GuardIdentifier':Number(o['fields']['pos0'])};else{if(o['variant']==='Entity'&&o['fields'])n={'Entity':{'name_or_address':o['fields']['pos0']}};else o['variant']==='Signer'?n={'Signer':null}:W_ERROR(WErrors['ParseObjectContentFailed'],'Invalid\x20who\x20variant:\x20'+o['variant']);}return{'who':n,'sharing':m['fields']['sharing'],'mode':m['fields']['mode']};})};})};}case'Payment':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'amount':b?.['amount'],'time':b?.['time'],'from_object':b?.['from_object'],'signer':b?.['signer'],'info':b?.['info']?.['fields'],'record':b?.['record']?.['map'](l=>{return{'recipient':l['fields']['recipient'],'amount':l['fields']['amount']};})};}case'Contact':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'ims':b?.['ims']['map'](l=>{return{'description':l['fields']['description'],'at':l['fields']['at'],'join_time':l['fields']['join_time'],'status':l['fields']['status']};}),'location':b?.['location'],'permission':b?.['permission']};}case'Repository':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'policies':b?.['policies']['map'](l=>{return{'description':l['fields']['description'],'id_from':l['fields']['id_from'],'name':l['fields']['name'],'quote_guard':l['fields']['quote_guard'],'value_type':l['fields']['value_type'],'write_guard':l['fields']['write_guard']};}),'rewards':b?.['rewards'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Demand':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'rewards':b?.['rewards'],'guards':b?.['guards']['map'](l=>{return{'guard':l['fields']['guard'],'service_identifier':l['fields']['service_identifier']};}),'presenters_count':b?.['presenters']?.['fields']?.['size'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Machine':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'node_count':b?.['nodes']?.['fields']?.['size'],'consensus_repositories':b?.['consensus_repositories'],'bPaused':b?.['bPaused'],'bPublished':b?.['bPublished'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Order':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'items':b?.['items']['map'](l=>{return{'name':l['fields']['item'],'price':l['fields']['price'],'quantity':l['fields']['quantity'],'wip_hash':l['fields']['wip_hash']};}),'discount':b?.['discount'],'progress':b?.['progress'],'machine':b?.['machine'],'amount':b?.['amount'],'builder':b?.['owner'],'service':b?.['service'],'dispute':b?.['dispute'],'agent':b?.['agent'],'allocation':b?.['allocation'],'claimed_by':b?.['claimed_by'],'required_info':b?.['required_info'],'time':b?.['time']};}case'Progress':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'machine':b?.['machine'],'context_repositories':b?.['context_repositories'],'current':b?.['current'],'task':b?.['task'],'namedOperator':b?.['namedOperator']['map'](l=>{return{'name':l['fields']['name'],'operators':l['fields']['operators']};}),'session':b?.['session']['map'](l=>{return{'next_node':l['fields']['next_node'],'forwards':l['fields']['forwards']['map'](m=>{return{'forward':m['fields']['forward'],'who':m['fields']['who'],'retained_submission':m['fields']['retained_submission']['map'](n=>{return{'identifier':n['fields']['identifier'],'value_type':n['fields']['value_type'],'value':bcsBytesToValue(Uint8Array['from'](n['fields']['value']))};}),'msg':m['fields']['msg'],'accomplished':m['fields']['accomplished'],'time':m['fields']['time']};}),'weights':l['fields']['weights'],'threshold':l['fields']['threshold']};}),'history_count':b?.['history']?.['fields']?.['contents']?.['fields']?.['size'],'current_time':b?.['current_time']};}case'Reward':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'guards':b?.['guards']['map'](l=>{const m=l['fields']['amount']['variant']==='Fixed'?AmountType['Fixed']:AmountType['GuardU64Identifier'],n=parseRecipient(l['fields']['recipient']);return{'guard':l['fields']['guard'],'expiration_time':l['fields']['expiration_time'],'amount':{'type':m,'value':l['fields']['amount']['fields']?.['pos0']},'recipient':n,'store_from_id':l['fields']['store_from_id']??null};}),'balance':b?.['balance'],'guard_not_added_expiration_time':b?.['guard_not_added_expiration_time'],'record_count':b?.['record']?.['fields']?.['size'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Service':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'sales':b?.['sales']?.['map'](l=>{return{'name':l['fields']['name'],'stock':l['fields']['stock'],'suspension':l['fields']['suspension'],'price':l['fields']['price'],'wip':l['fields']['wip'],'wip_hash':l['fields']['wip_hash']};}),'repositories':b?.['repositories'],'buy_guard':b?.['buy_guard'],'machine':b?.['machine'],'bPublished':b?.['bPublished'],'bPaused':b?.['bPaused'],'customer_required':b?.['customer_required'],'arbitrations':b?.['arbitrations'],'compensation_fund':b?.['compensation_fund'],'paused_time':b?.['paused_time'],'compensation_lock_duration':b?.['compensation_lock_duration'],'order_allocators':{'description':b?.['order_allocators']?.['fields']?.['description'],'threshold':b?.['order_allocators']?.['fields']?.['threshold'],'allocators':b?.['order_allocators']?.['fields']?.['allocators']['map'](l=>{return{'guard':l['fields']['guard'],'sharing':l['fields']['sharing']['map'](m=>{const n=parseRecipient(m['fields']['who']);return{'who':n,'sharing':m['fields']['sharing'],'mode':m['fields']['mode']};}),'fix':l['fields']['fix'],'max':l['fields']['max']};})},'rewards':b?.['rewards'],'um':b?.['um']??null,'permission':b?.['permission']};}case'Discount':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'name':b?.['name'],'discount_type':b?.['discount_type'],'benchmark':b?.['benchmark'],'off':b?.['off'],'time_start':b?.['time_start'],'time_end':b?.['time_end'],'service':b?.['service'],'transferable':b?.['transferable']};}case'Arb':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'order':b?.['order'],'arbitration':b?.['arbitration'],'voted':b?.['voted']?.['map'](l=>{return{'voter':l['fields']['voter'],'agrees':l['fields']['agrees'],'weight':l['fields']['weight'],'time':l['fields']['time']};}),'proposition':b?.['proposition']?.['map'](l=>{return{'name':l['fields']['name'],'votes':l['fields']['votes']};}),'fee':b?.['fee'],'feedback':b?.['feedback'],'indemnity':b?.['indemnity']?{'amount':b?.['indemnity']?.['fields']?.['amount'],'time':b?.['indemnity']?.['fields']?.['time']}:null,'voting_deadline':b?.['voting_deadline'],'objection':b?.['objection'],'status':b?.['status'],'compensation_time':b?.['compensation_time'],'time':b?.['time']};}case'Arbitration':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'location':b?.['location'],'fee':b?.['fee'],'bPaused':b?.['bPaused'],'balance':b?.['balance'],'usage_guard':b?.['usage_guard'],'um':b?.['um']??null,'permission':b?.['permission'],'voting_guard':b?.['voting_guard']['map'](l=>{let m;if(l['fields']['vote_weight']['variant']==='GuardIdentifier')m={'GuardIdentifier':l['fields']['vote_weight']['fields']?.['pos0']};else l['fields']['vote_weight']['variant']==='FixedValue'?m={'FixedValue':l['fields']['vote_weight']['fields']?.['pos0']}:W_ERROR(WErrors['InvalidParam'],'vote_weight'+l['fields']['vote_weight']['variant']+'\x20invalid');return{'guard':l['fields']['guard'],'vote_weight':m};})};}case'Proof':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'proof':b?.['proof'],'server_pubkey':b?.['server_pubkey'],'server_signature':b?.['server_signature'],'proof_type':b?.['proof_type'],'item_count':b?.['item_count']??null,'about_address':b?.['about_address']??null,'signer':b?.['signer'],'time':b?.['time']};}case'Treasury':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'description':b?.['description'],'balance':b?.['balance'],'history_count':parseInt(b?.['history']?.['fields']?.['size']),'external_deposit_guard':b?.['external_deposit_guard']['map'](l=>({'guard':l['fields']['guard'],'identifier':l['fields']['identifier']??null,'store_from_id':l['fields']['store_from_id']??null})),'external_withdraw_guard':b?.['external_withdraw_guard']['map'](l=>({'guard':l['fields']['guard'],'identifier':l['fields']['identifier'],'store_from_id':l['fields']['store_from_id']??null})),'inflow':b?.['inflow'],'outflow':b?.['outflow'],'um':b?.['um']??null,'permission':b?.['permission']};}case'TableItem_DemandPresenter':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'recommend':b?.['value']?.['fields']?.['recommend'],'service':b?.['value']?.['fields']?.['service'],'update_time':b?.['value']?.['fields']?.['update_time'],'acceptance_score':b?.['value']?.['fields']?.['acceptance_score'],'feedback':b?.['value']?.['fields']?.['feedback'],'feedback_time':b?.['value']?.['fields']?.['feedback_time']};}case'TableItem_MachineNode':{return console['dir'](JSON['stringify'](b['value']['fields']['value']),{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'name':b?.['name'],'value':b?.['value']?.['fields']?.['value']?.['map'](l=>{return{'prev_node':l['fields']['prev_node'],'threshold':l['fields']['threshold'],'forwards':l['fields']['forwards']['map'](m=>{return{'name':m['fields']['name'],'weight':m['fields']['weight'],'namedOperator':m['fields']?.['namedOperator'],'permissionIndex':m['fields']?.['permissionIndex'],'guard':m['fields']?.['guard']?{'guard':m['fields']['guard']['fields']?.['guard'],'retained_submission':m['fields']['guard']['fields']?.['retained_submission']}:undefined};})};})};}case'TableItem_ProgressHistory':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'index':b?.['name'],'node':b?.['value']?.['fields']?.['node'],'next_node':b?.['value']?.['fields']?.['next_node'],'session':b?.['value']?.['fields']?.['session']['map'](l=>{return{'next_node':l['fields']['next_node'],'weights':l['fields']['weights'],'threshold':l['fields']['threshold'],'forwards':l['fields']['forwards']?.['map'](m=>{return{'forward':m['fields']['forward'],'who':m['fields']['who'],'msg':m['fields']['msg'],'accomplished':m['fields']['accomplished'],'time':m['fields']['time'],'retained_submission':m['fields']['retained_submission']?.['map'](n=>{return{'identifier':n['fields']['identifier'],'value_type':n['fields']['value_type'][0x0],'value':bcsBytesToValue(Uint8Array['from'](n['fields']['value']))};})};})};}),'time':b?.['value']?.['time']};}case'TableItem_TreasuryHistory':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'payment':b?.['name'],'op':b?.['value']?.['fields']?.['op'],'signer':b?.['value']?.['fields']?.['signer'],'external_guard':b?.['value']?.['fields']?.['external_guard'],'amount':b?.['value']?.['fields']?.['amount'],'time':b?.['value']?.['fields']?.['time'],'store_from_id':b?.['value']?.['fields']?.['store_from_id']??null};}case'TableItem_EntityLinker':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'pos':b?.['value']?.['fields']?.['pos'],'count':b?.['value']?.['fields']?.['count'],'votes':b?.['value']?.['fields']?.['votes']?.['map'](l=>{return{'who':l['fields']['who'],'info':l['fields']['info'],'like':(l['fields']['info']&0x2)!==0x0,'dislike':(l['fields']['info']&0x4)!==0x0,'affiliation':(l['fields']['info']&0x8)!==0x0,'time':l['fields']['time']};})};}case'TableItem_EntityRegistrar':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'address':b?.['name'],'description':b?.['value']?.['fields']?.['description'],'time':b?.['value']?.['fields']?.['time'],'referrer':b?.['referrer'],'mark_object':b?.['value']?.['fields']?.['resource'],'records':b?.['value']?.['fields']?.['records']?.['map'](l=>{return{'name':l['fields']['name'],'typed_value':l['fields']['typed_value'],'value':bcsBytesToValue(Uint8Array['from'](l['fields']['typed_value']))};})};}case'Resource':{return{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}case'TableItem_AddressMark':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity':b?.['name'],'name':b?.['value']?.['fields']?.['name'],'tags':b?.['value']?.['fields']?.['tags']};}case'TableItem_RepositoryData':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity':b?.['name']?.['fields']?.['id'],'name':b?.['name']?.['fields']?.['key'],'value':b?.['value'],'data':{'value_type':b?.['value'][0x0],'value':bcsBytesToValue(Uint8Array['from'](b['value']))}};}case'TableItem_RewardRecord':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'recipient':b?.['name'],'guard':b?.['value']?.['fields']?.['guard'],'total':b?.['value']?.['fields']?.['total'],'record':b?.['value']?.['fields']?.['amount']['map'](l=>{return{'amount':l['fields']['amount'],'time':l['fields']['time'],'store_from_id':l['fields']['store_from_id']??null};})};}case'EntityRegistrar':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}case'EntityLinker':{return console['dir'](b,{'depth':null,'colors':!![]}),{'object':c,'type':g,'type_raw':d,'owner':f,'version':e,'previousTransaction':a?.['previousTransaction'],'entity_count':parseInt(b?.['table']?.['fields']?.['size'])};}}return{'object':c,'type':undefined,'type_raw':d,'owner':f,'version':e};}
|