opacity-issuer-core 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkGMPQFX25_cjs = require('../chunk-GMPQFX25.cjs');
3
+ var chunkGUTZXV5S_cjs = require('../chunk-GUTZXV5S.cjs');
4
4
  var chunk3L7NNVUV_cjs = require('../chunk-3L7NNVUV.cjs');
5
5
  require('../chunk-HJQZWNZJ.cjs');
6
6
 
@@ -8,131 +8,131 @@ require('../chunk-HJQZWNZJ.cjs');
8
8
 
9
9
  Object.defineProperty(exports, "SANDBOX_CHAIN_ID", {
10
10
  enumerable: true,
11
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_CHAIN_ID; }
11
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_CHAIN_ID; }
12
12
  });
13
13
  Object.defineProperty(exports, "SANDBOX_DEPLOYMENTS", {
14
14
  enumerable: true,
15
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_DEPLOYMENTS; }
15
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_DEPLOYMENTS; }
16
16
  });
17
17
  Object.defineProperty(exports, "SANDBOX_IMPLEMENTATION_VERSION", {
18
18
  enumerable: true,
19
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_IMPLEMENTATION_VERSION; }
19
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_IMPLEMENTATION_VERSION; }
20
20
  });
21
21
  Object.defineProperty(exports, "SANDBOX_TRAIT_IDS", {
22
22
  enumerable: true,
23
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_TRAIT_IDS; }
23
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_TRAIT_IDS; }
24
24
  });
25
25
  Object.defineProperty(exports, "SEPOLIA_CHAIN_ID", {
26
26
  enumerable: true,
27
- get: function () { return chunkGMPQFX25_cjs.SEPOLIA_CHAIN_ID; }
27
+ get: function () { return chunkGUTZXV5S_cjs.SEPOLIA_CHAIN_ID; }
28
28
  });
29
29
  Object.defineProperty(exports, "assertDocumentMatchesHash", {
30
30
  enumerable: true,
31
- get: function () { return chunkGMPQFX25_cjs.assertDocumentMatchesHash; }
31
+ get: function () { return chunkGUTZXV5S_cjs.assertDocumentMatchesHash; }
32
32
  });
33
33
  Object.defineProperty(exports, "buildAttestDocumentTransaction", {
34
34
  enumerable: true,
35
- get: function () { return chunkGMPQFX25_cjs.buildAttestDocumentTransaction; }
35
+ get: function () { return chunkGUTZXV5S_cjs.buildAttestDocumentTransaction; }
36
36
  });
37
37
  Object.defineProperty(exports, "buildDocumentAcceptanceTypedData", {
38
38
  enumerable: true,
39
- get: function () { return chunkGMPQFX25_cjs.buildDocumentAcceptanceTypedData; }
39
+ get: function () { return chunkGUTZXV5S_cjs.buildDocumentAcceptanceTypedData; }
40
40
  });
41
41
  Object.defineProperty(exports, "buildSandboxAddSelfTransaction", {
42
42
  enumerable: true,
43
- get: function () { return chunkGMPQFX25_cjs.buildSandboxAddSelfTransaction; }
43
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxAddSelfTransaction; }
44
44
  });
45
45
  Object.defineProperty(exports, "buildSandboxRegisterIssuerTransaction", {
46
46
  enumerable: true,
47
- get: function () { return chunkGMPQFX25_cjs.buildSandboxRegisterIssuerTransaction; }
47
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxRegisterIssuerTransaction; }
48
48
  });
49
49
  Object.defineProperty(exports, "buildSandboxSetSelfTraitTransaction", {
50
50
  enumerable: true,
51
- get: function () { return chunkGMPQFX25_cjs.buildSandboxSetSelfTraitTransaction; }
51
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxSetSelfTraitTransaction; }
52
52
  });
53
53
  Object.defineProperty(exports, "documentAttestorAbi", {
54
54
  enumerable: true,
55
- get: function () { return chunkGMPQFX25_cjs.documentAttestorAbi; }
55
+ get: function () { return chunkGUTZXV5S_cjs.documentAttestorAbi; }
56
56
  });
57
57
  Object.defineProperty(exports, "documentTraitId", {
58
58
  enumerable: true,
59
- get: function () { return chunkGMPQFX25_cjs.documentTraitId; }
59
+ get: function () { return chunkGUTZXV5S_cjs.documentTraitId; }
60
60
  });
61
61
  Object.defineProperty(exports, "getSandboxDeployment", {
62
62
  enumerable: true,
63
- get: function () { return chunkGMPQFX25_cjs.getSandboxDeployment; }
63
+ get: function () { return chunkGUTZXV5S_cjs.getSandboxDeployment; }
64
64
  });
65
65
  Object.defineProperty(exports, "hashDocument", {
66
66
  enumerable: true,
67
- get: function () { return chunkGMPQFX25_cjs.hashDocument; }
67
+ get: function () { return chunkGUTZXV5S_cjs.hashDocument; }
68
68
  });
69
69
  Object.defineProperty(exports, "hashDocumentAcceptance", {
70
70
  enumerable: true,
71
- get: function () { return chunkGMPQFX25_cjs.hashDocumentAcceptance; }
71
+ get: function () { return chunkGUTZXV5S_cjs.hashDocumentAcceptance; }
72
72
  });
73
73
  Object.defineProperty(exports, "probeSandboxRegistry", {
74
74
  enumerable: true,
75
- get: function () { return chunkGMPQFX25_cjs.probeSandboxRegistry; }
75
+ get: function () { return chunkGUTZXV5S_cjs.probeSandboxRegistry; }
76
76
  });
77
77
  Object.defineProperty(exports, "requireSandboxDeployment", {
78
78
  enumerable: true,
79
- get: function () { return chunkGMPQFX25_cjs.requireSandboxDeployment; }
79
+ get: function () { return chunkGUTZXV5S_cjs.requireSandboxDeployment; }
80
80
  });
81
81
  Object.defineProperty(exports, "sandboxAllowlistRegistryAbi", {
82
82
  enumerable: true,
83
- get: function () { return chunkGMPQFX25_cjs.sandboxAllowlistRegistryAbi; }
83
+ get: function () { return chunkGUTZXV5S_cjs.sandboxAllowlistRegistryAbi; }
84
84
  });
85
85
  Object.defineProperty(exports, "sandboxUserId", {
86
86
  enumerable: true,
87
- get: function () { return chunkGMPQFX25_cjs.sandboxUserId; }
87
+ get: function () { return chunkGUTZXV5S_cjs.sandboxUserId; }
88
88
  });
89
89
  Object.defineProperty(exports, "toEip1193Json", {
90
90
  enumerable: true,
91
- get: function () { return chunkGMPQFX25_cjs.toEip1193Json; }
91
+ get: function () { return chunkGUTZXV5S_cjs.toEip1193Json; }
92
92
  });
93
93
  Object.defineProperty(exports, "toEip1193TypedData", {
94
94
  enumerable: true,
95
- get: function () { return chunkGMPQFX25_cjs.toEip1193TypedData; }
95
+ get: function () { return chunkGUTZXV5S_cjs.toEip1193TypedData; }
96
96
  });
97
97
  Object.defineProperty(exports, "toEip712Json", {
98
98
  enumerable: true,
99
- get: function () { return chunkGMPQFX25_cjs.toEip712Json; }
99
+ get: function () { return chunkGUTZXV5S_cjs.toEip712Json; }
100
100
  });
101
101
  Object.defineProperty(exports, "toEip712JsonPayload", {
102
102
  enumerable: true,
103
- get: function () { return chunkGMPQFX25_cjs.toEip712JsonPayload; }
103
+ get: function () { return chunkGUTZXV5S_cjs.toEip712JsonPayload; }
104
104
  });
105
105
  Object.defineProperty(exports, "toEthersTypedData", {
106
106
  enumerable: true,
107
- get: function () { return chunkGMPQFX25_cjs.toEthersTypedData; }
107
+ get: function () { return chunkGUTZXV5S_cjs.toEthersTypedData; }
108
108
  });
109
109
  Object.defineProperty(exports, "toJsonRpcTransaction", {
110
110
  enumerable: true,
111
- get: function () { return chunkGMPQFX25_cjs.toJsonRpcTransaction; }
111
+ get: function () { return chunkGUTZXV5S_cjs.toJsonRpcTransaction; }
112
112
  });
113
113
  Object.defineProperty(exports, "toSandboxAddSelfWriteContractRequest", {
114
114
  enumerable: true,
115
- get: function () { return chunkGMPQFX25_cjs.toSandboxAddSelfWriteContractRequest; }
115
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxAddSelfWriteContractRequest; }
116
116
  });
117
117
  Object.defineProperty(exports, "toSandboxRegisterIssuerWriteContractRequest", {
118
118
  enumerable: true,
119
- get: function () { return chunkGMPQFX25_cjs.toSandboxRegisterIssuerWriteContractRequest; }
119
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxRegisterIssuerWriteContractRequest; }
120
120
  });
121
121
  Object.defineProperty(exports, "toSandboxSetSelfTraitWriteContractRequest", {
122
122
  enumerable: true,
123
- get: function () { return chunkGMPQFX25_cjs.toSandboxSetSelfTraitWriteContractRequest; }
123
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxSetSelfTraitWriteContractRequest; }
124
124
  });
125
125
  Object.defineProperty(exports, "toViemTypedData", {
126
126
  enumerable: true,
127
- get: function () { return chunkGMPQFX25_cjs.toViemTypedData; }
127
+ get: function () { return chunkGUTZXV5S_cjs.toViemTypedData; }
128
128
  });
129
129
  Object.defineProperty(exports, "toWriteContractRequest", {
130
130
  enumerable: true,
131
- get: function () { return chunkGMPQFX25_cjs.toWriteContractRequest; }
131
+ get: function () { return chunkGUTZXV5S_cjs.toWriteContractRequest; }
132
132
  });
133
133
  Object.defineProperty(exports, "verifyAttestationSession", {
134
134
  enumerable: true,
135
- get: function () { return chunkGMPQFX25_cjs.verifyAttestationSession; }
135
+ get: function () { return chunkGUTZXV5S_cjs.verifyAttestationSession; }
136
136
  });
137
137
  Object.defineProperty(exports, "DOCUMENT_ACCEPTANCE_PRIMARY_TYPE", {
138
138
  enumerable: true,
@@ -1180,17 +1180,17 @@ interface SandboxDeployment {
1180
1180
  documentAttestor: Address;
1181
1181
  }
1182
1182
  /**
1183
- * Built-in sandbox deployments, keyed by chain id. Sepolia only, today.
1183
+ * Historical sandbox deployment snapshots, keyed by chain id. Sepolia only, today.
1184
1184
  *
1185
1185
  * These and `SANDBOX_PURCHASE_DEPLOYMENT` are testnet-only constants; production addresses are
1186
- * never baked in. They serve as
1187
- * the FALLBACK for `client.sandbox` when discovery cannot answer, and as constants a consumer can
1188
- * pin (`expectedAttestor`) or use with the pure builders without a backend at all.
1186
+ * never baked in. Consumers may explicitly use these snapshots with pure builders after checking
1187
+ * their intended environment. They are NOT automatic fallbacks for `client.sandbox`: discovery
1188
+ * failures and missing registries reject rather than silently selecting another deployment.
1189
1189
  *
1190
1190
  * Source and receipt provenance: SEPOLIA_SANDBOX_MANIFEST and
1191
1191
  * deployments/sepolia-sandbox-v3.json. Verified sandboxVersion() = 3 after all
1192
- * deployment and MMF seed transactions confirmed. Discovery remains backend-owned;
1193
- * pin these addresses explicitly during the subgraph/backend cutover.
1192
+ * deployment and MMF seed transactions confirmed. Discovery remains backend-owned; this snapshot
1193
+ * does not identify the backend's current deployment or follow later redeployments/upgrades.
1194
1194
  */
1195
1195
  declare const SANDBOX_DEPLOYMENTS: Readonly<Partial<Record<number, SandboxDeployment>>>;
1196
1196
  /** The built-in sandbox deployment for a chain, or `undefined` when the SDK ships none for it. */
@@ -1180,17 +1180,17 @@ interface SandboxDeployment {
1180
1180
  documentAttestor: Address;
1181
1181
  }
1182
1182
  /**
1183
- * Built-in sandbox deployments, keyed by chain id. Sepolia only, today.
1183
+ * Historical sandbox deployment snapshots, keyed by chain id. Sepolia only, today.
1184
1184
  *
1185
1185
  * These and `SANDBOX_PURCHASE_DEPLOYMENT` are testnet-only constants; production addresses are
1186
- * never baked in. They serve as
1187
- * the FALLBACK for `client.sandbox` when discovery cannot answer, and as constants a consumer can
1188
- * pin (`expectedAttestor`) or use with the pure builders without a backend at all.
1186
+ * never baked in. Consumers may explicitly use these snapshots with pure builders after checking
1187
+ * their intended environment. They are NOT automatic fallbacks for `client.sandbox`: discovery
1188
+ * failures and missing registries reject rather than silently selecting another deployment.
1189
1189
  *
1190
1190
  * Source and receipt provenance: SEPOLIA_SANDBOX_MANIFEST and
1191
1191
  * deployments/sepolia-sandbox-v3.json. Verified sandboxVersion() = 3 after all
1192
- * deployment and MMF seed transactions confirmed. Discovery remains backend-owned;
1193
- * pin these addresses explicitly during the subgraph/backend cutover.
1192
+ * deployment and MMF seed transactions confirmed. Discovery remains backend-owned; this snapshot
1193
+ * does not identify the backend's current deployment or follow later redeployments/upgrades.
1194
1194
  */
1195
1195
  declare const SANDBOX_DEPLOYMENTS: Readonly<Partial<Record<number, SandboxDeployment>>>;
1196
1196
  /** The built-in sandbox deployment for a chain, or `undefined` when the SDK ships none for it. */
@@ -1,4 +1,4 @@
1
- export { SANDBOX_CHAIN_ID, SANDBOX_DEPLOYMENTS, SANDBOX_IMPLEMENTATION_VERSION, SANDBOX_TRAIT_IDS, SEPOLIA_CHAIN_ID, assertDocumentMatchesHash, buildAttestDocumentTransaction, buildDocumentAcceptanceTypedData, buildSandboxAddSelfTransaction, buildSandboxRegisterIssuerTransaction, buildSandboxSetSelfTraitTransaction, documentAttestorAbi, documentTraitId, getSandboxDeployment, hashDocument, hashDocumentAcceptance, probeSandboxRegistry, requireSandboxDeployment, sandboxAllowlistRegistryAbi, sandboxUserId, toEip1193Json, toEip1193TypedData, toEip712Json, toEip712JsonPayload, toEthersTypedData, toJsonRpcTransaction, toSandboxAddSelfWriteContractRequest, toSandboxRegisterIssuerWriteContractRequest, toSandboxSetSelfTraitWriteContractRequest, toViemTypedData, toWriteContractRequest, verifyAttestationSession } from '../chunk-7ODYBEZH.js';
1
+ export { SANDBOX_CHAIN_ID, SANDBOX_DEPLOYMENTS, SANDBOX_IMPLEMENTATION_VERSION, SANDBOX_TRAIT_IDS, SEPOLIA_CHAIN_ID, assertDocumentMatchesHash, buildAttestDocumentTransaction, buildDocumentAcceptanceTypedData, buildSandboxAddSelfTransaction, buildSandboxRegisterIssuerTransaction, buildSandboxSetSelfTraitTransaction, documentAttestorAbi, documentTraitId, getSandboxDeployment, hashDocument, hashDocumentAcceptance, probeSandboxRegistry, requireSandboxDeployment, sandboxAllowlistRegistryAbi, sandboxUserId, toEip1193Json, toEip1193TypedData, toEip712Json, toEip712JsonPayload, toEthersTypedData, toJsonRpcTransaction, toSandboxAddSelfWriteContractRequest, toSandboxRegisterIssuerWriteContractRequest, toSandboxSetSelfTraitWriteContractRequest, toViemTypedData, toWriteContractRequest, verifyAttestationSession } from '../chunk-F73OBTKE.js';
2
2
  export { DOCUMENT_ACCEPTANCE_PRIMARY_TYPE, DOCUMENT_ACCEPTANCE_TYPEHASH, DOCUMENT_ACCEPTANCE_TYPES, DOCUMENT_ATTESTOR_DOMAIN_NAME, DOCUMENT_ATTESTOR_DOMAIN_VERSION, ECDSA_SIGNATURE_BYTES, EIP712_DOMAIN_TYPE, MAX_ATTESTATION_LIFETIME_SECONDS } from '../chunk-2STMWRIV.js';
3
3
  import '../chunk-54Q3MU62.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkGMPQFX25_cjs = require('./chunk-GMPQFX25.cjs');
3
+ var chunkGUTZXV5S_cjs = require('./chunk-GUTZXV5S.cjs');
4
4
  var chunk3L7NNVUV_cjs = require('./chunk-3L7NNVUV.cjs');
5
5
  var chunkHJQZWNZJ_cjs = require('./chunk-HJQZWNZJ.cjs');
6
6
  var viem = require('viem');
@@ -142,13 +142,13 @@ function parsePurchaseAmount(value, decimals) {
142
142
 
143
143
  // src/purchases/index.ts
144
144
  var SANDBOX_PURCHASE_DEPLOYMENT = deployment({
145
- chainId: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.chainId,
146
- vault: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.vault,
147
- token: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.mmfToken,
148
- tokenId: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.mmfTokenId,
149
- paymentToken: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.mockUSDC,
150
- allowlistRegistry: chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.registry,
151
- requiredGlobalTraits: [chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST.documentTraitId]
145
+ chainId: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.chainId,
146
+ vault: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.vault,
147
+ token: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.mmfToken,
148
+ tokenId: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.mmfTokenId,
149
+ paymentToken: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.mockUSDC,
150
+ allowlistRegistry: chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.addresses.registry,
151
+ requiredGlobalTraits: [chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST.documentTraitId]
152
152
  });
153
153
  function buildPurchaseWriteRequest(input) {
154
154
  const params = purchaseParams(input);
@@ -669,6 +669,7 @@ function receiptMatches(receipt, buyer, target) {
669
669
  // src/issuers/abi.ts
670
670
  var ISSUER_CONTRACTS_COMMIT = "ee48b026312447f4b98259c5b69c5b3dd909e7ac";
671
671
  var ISSUER_CONTRACTS_PR = "https://github.com/OpacityLabs/pilot-evm/pull/163";
672
+ var ISSUER_ADAPTER_CONTRACTS_COMMIT = "b42b8e21c665cc6adcac32127b900d1624944028";
672
673
  var issuerFactoryAbi = [
673
674
  { type: "constructor", inputs: [], stateMutability: "nonpayable" },
674
675
  {
@@ -4777,7 +4778,8 @@ var issuerAdapterAbi = [
4777
4778
  { name: "token_", type: "address", internalType: "address" },
4778
4779
  { name: "id_", type: "uint256", internalType: "uint256" },
4779
4780
  { name: "name_", type: "string", internalType: "string" },
4780
- { name: "symbol_", type: "string", internalType: "string" }
4781
+ { name: "symbol_", type: "string", internalType: "string" },
4782
+ { name: "decimals_", type: "uint8", internalType: "uint8" }
4781
4783
  ],
4782
4784
  stateMutability: "nonpayable"
4783
4785
  },
@@ -5940,7 +5942,7 @@ var issuerPolicyModuleAbis = {
5940
5942
  };
5941
5943
  var issuerVaultBytecode = "0x60e060405234801561000f575f80fd5b506040516109cc3803806109cc83398101604081905261002e91610066565b6001600160a01b0392831660805260a0919091521660c05261009f565b80516001600160a01b0381168114610061575f80fd5b919050565b5f805f60608486031215610078575f80fd5b6100818461004b565b9250602084015191506100966040850161004b565b90509250925092565b60805160a05160c0516108cc6101005f395f818161014e015281816103b8015261044501525f818160b6015281816102390152818161030b015261048201525f81816101ad015281816102610152818161033801526104af01526108cc5ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063bc197c8111610058578063bc197c811461010e578063e9cbd82214610149578063f23a6e6114610188578063fc0c546a146101a8575f80fd5b806301ffc9a71461008957806317d70f7c146100b15780632e1a7d4d146100e6578063b6b55f25146100fb575b5f80fd5b61009c61009736600461068a565b6101cf565b60405190151581526020015b60405180910390f35b6100d87f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100a8565b6100f96100f43660046106b8565b610205565b005b6100f96101093660046106b8565b610418565b61013061011c366004610770565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b031990911681526020016100a8565b6101707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a8565b610130610196366004610823565b63f23a6e6160e01b9695505050505050565b6101707f000000000000000000000000000000000000000000000000000000000000000081565b5f6001600160e01b03198216630271189760e51b14806101ff57506001600160e01b031982166301ffc9a760e01b145b92915050565b805f0361022557604051631f2a200560e01b815260040160405180910390fd5b604051627eeac760e11b81523360048201527f0000000000000000000000000000000000000000000000000000000000000000602482015281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062fdd58e90604401602060405180830381865afa1580156102ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d19190610896565b10156102f057604051631e9acf1760e31b815260040160405180910390fd5b60405163018d308d60e41b81523360048201525f60248201527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906318d308d0906084016020604051808303815f875af1158015610386573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103aa91906108ad565b506103df6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610540565b60405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250565b805f0361043857604051631f2a200560e01b815260040160405180910390fd5b61046d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308461057f565b604051630ab714fb60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063156e29f6906064015f604051808303815f87803b1580156104f8575f80fd5b505af115801561050a573d5f803e3d5ffd5b50506040518381523392507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4915060200161040d565b61054d83838360016105bb565b61057a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b61058d84848484600161061d565b6105b557604051635274afe760e01b81526001600160a01b0385166004820152602401610571565b50505050565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610611578383151615610605573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661067957838315161561066d573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f6020828403121561069a575f80fd5b81356001600160e01b0319811681146106b1575f80fd5b9392505050565b5f602082840312156106c8575f80fd5b5035919050565b80356001600160a01b03811681146106e5575f80fd5b919050565b5f8083601f8401126106fa575f80fd5b50813567ffffffffffffffff811115610711575f80fd5b6020830191508360208260051b850101111561072b575f80fd5b9250929050565b5f8083601f840112610742575f80fd5b50813567ffffffffffffffff811115610759575f80fd5b60208301915083602082850101111561072b575f80fd5b5f805f805f805f8060a0898b031215610787575f80fd5b610790896106cf565b975061079e60208a016106cf565b9650604089013567ffffffffffffffff808211156107ba575f80fd5b6107c68c838d016106ea565b909850965060608b01359150808211156107de575f80fd5b6107ea8c838d016106ea565b909650945060808b0135915080821115610802575f80fd5b5061080f8b828c01610732565b999c989b5096995094979396929594505050565b5f805f805f8060a08789031215610838575f80fd5b610841876106cf565b955061084f602088016106cf565b94506040870135935060608701359250608087013567ffffffffffffffff811115610878575f80fd5b61088489828a01610732565b979a9699509497509295939492505050565b5f602082840312156108a6575f80fd5b5051919050565b5f602082840312156108bd575f80fd5b815180151581146106b1575f80fd";
5942
5944
  var issuerSandboxVaultBytecode = "0x60e060405234801562000010575f80fd5b5060405162001015380380620010158339810160408190526200003391620002ad565b6001600160a01b03808416608081905260a084905290821660c0523b5f036200006f5760405163c1ab6dc160e01b815260040160405180910390fd5b5f6001600160a01b03166080516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000b8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000de9190620002f2565b6001600160a01b031603620001065760405163c1ab6dc160e01b815260040160405180910390fd5b806001600160a01b03163b5f036200013157604051632945604560e11b815260040160405180910390fd5b5f6080516001600160a01b0316637d42151b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000171573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001979190620002f2565b60408051600481526024810182526020810180516001600160e01b0316630b5bc63160e21b17905290519192505f9182916001600160a01b03851691620001df919062000317565b5f60405180830381855afa9150503d805f811462000219576040519150601f19603f3d011682016040523d82523d5f602084013e6200021e565b606091505b509150915081158062000232575060208151105b156200025157604051638280af7360e01b815260040160405180910390fd5b60028180602001905181019062000269919062000345565b10156200028957604051638280af7360e01b815260040160405180910390fd5b5050505050506200035d565b6001600160a01b0381168114620002aa575f80fd5b50565b5f805f60608486031215620002c0575f80fd5b8351620002cd8162000295565b602085015160408601519194509250620002e78162000295565b809150509250925092565b5f6020828403121562000303575f80fd5b8151620003108162000295565b9392505050565b5f82515f5b818110156200033857602081860181015185830152016200031c565b505f920191825250919050565b5f6020828403121562000356575f80fd5b5051919050565b60805160a05160c051610c48620003cd5f395f81816101970152818161040101526104c201525f818160cc015281816102820152818161035401526104ff01525f81816101f6015281816102aa01528181610381015281816104680152818161052c01526106150152610c485ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c8063bc197c8111610063578063bc197c8114610144578063d45780a81461017f578063e9cbd82214610192578063f23a6e61146101d1578063fc0c546a146101f1575f80fd5b806301ffc9a71461009f57806317d70f7c146100c75780632e1a7d4d146100fc5780639638f10e14610111578063b6b55f2514610131575b5f80fd5b6100b26100ad3660046108ac565b610218565b60405190151581526020015b60405180910390f35b6100ee7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100be565b61010f61010a3660046108d3565b61024e565b005b61012461011f36600461092f565b610461565b6040516100be919061096e565b61010f61013f3660046108d3565b610495565b610166610152366004610a12565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b031990911681526020016100be565b61012461018d366004610ac9565b6105bd565b6101b97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100be565b6101666101df366004610b1a565b63f23a6e6160e01b9695505050505050565b6101b97f000000000000000000000000000000000000000000000000000000000000000081565b5f6001600160e01b03198216630271189760e51b148061024857506001600160e01b031982166301ffc9a760e01b145b92915050565b805f0361026e57604051631f2a200560e01b815260040160405180910390fd5b604051627eeac760e11b81523360048201527f0000000000000000000000000000000000000000000000000000000000000000602482015281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062fdd58e90604401602060405180830381865afa1580156102f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031a9190610b91565b101561033957604051631e9acf1760e31b815260040160405180910390fd5b60405163018d308d60e41b81523360048201525f60248201527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906318d308d0906084016020604051808303815f875af11580156103cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f39190610ba8565b506104286001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836105d2565b60405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250565b606061048e7f00000000000000000000000000000000000000000000000000000000000000008484610611565b9392505050565b805f036104b557604051631f2a200560e01b815260040160405180910390fd5b6104ea6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846107a1565b604051630ab714fb60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063156e29f6906064015f604051808303815f87803b158015610575575f80fd5b505af1158015610587573d5f803e3d5ffd5b50506040518381523392507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c49150602001610456565b60606105ca848484610611565b949350505050565b6105df83838360016107dd565b61060c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106939190610bc7565b6001600160a01b0316336001600160a01b0316146106c4576040516359dc379f60e01b815260040160405180910390fd5b5f600483106106e8576106da60045f8587610be2565b6106e391610c09565b6106ea565b5f5b90505f856001600160a01b03168585604051610707929190610c39565b5f604051808303815f865af19150503d805f8114610740576040519150601f19603f3d011682016040523d82523d5f602084013e610745565b606091505b50935090508061075757825160208401fd5b6040516001600160e01b03198316906001600160a01b0388169033907fbaa00c065bbee074455940c09a003646f9297af57114f879e9e269625b927434905f90a450509392505050565b6107af84848484600161083f565b6107d757604051635274afe760e01b81526001600160a01b0385166004820152602401610603565b50505050565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610833578383151615610827573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661089b57838315161561088f573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f602082840312156108bc575f80fd5b81356001600160e01b03198116811461048e575f80fd5b5f602082840312156108e3575f80fd5b5035919050565b5f8083601f8401126108fa575f80fd5b50813567ffffffffffffffff811115610911575f80fd5b602083019150836020828501011115610928575f80fd5b9250929050565b5f8060208385031215610940575f80fd5b823567ffffffffffffffff811115610956575f80fd5b610962858286016108ea565b90969095509350505050565b5f602080835283518060208501525f5b8181101561099a5785810183015185820160400152820161097e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ce575f80fd5b50565b5f8083601f8401126109e1575f80fd5b50813567ffffffffffffffff8111156109f8575f80fd5b6020830191508360208260051b8501011115610928575f80fd5b5f805f805f805f8060a0898b031215610a29575f80fd5b8835610a34816109ba565b97506020890135610a44816109ba565b9650604089013567ffffffffffffffff80821115610a60575f80fd5b610a6c8c838d016109d1565b909850965060608b0135915080821115610a84575f80fd5b610a908c838d016109d1565b909650945060808b0135915080821115610aa8575f80fd5b50610ab58b828c016108ea565b999c989b5096995094979396929594505050565b5f805f60408486031215610adb575f80fd5b8335610ae6816109ba565b9250602084013567ffffffffffffffff811115610b01575f80fd5b610b0d868287016108ea565b9497909650939450505050565b5f805f805f8060a08789031215610b2f575f80fd5b8635610b3a816109ba565b95506020870135610b4a816109ba565b94506040870135935060608701359250608087013567ffffffffffffffff811115610b73575f80fd5b610b7f89828a016108ea565b979a9699509497509295939492505050565b5f60208284031215610ba1575f80fd5b5051919050565b5f60208284031215610bb8575f80fd5b8151801515811461048e575f80fd5b5f60208284031215610bd7575f80fd5b815161048e816109ba565b5f8085851115610bf0575f80fd5b83861115610bfc575f80fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610c315780818660040360031b1b83161692505b505092915050565b818382375f910190815291905056";
5943
- var issuerAdapterBytecode = "0x60c060405234801562000010575f80fd5b5060405162000bf338038062000bf3833981016040819052620000339162000157565b818160036200004383826200026f565b5060046200005282826200026f565b5050506001600160a01b0384166200007d5760405163c1ab6dc160e01b815260040160405180910390fd5b50506001600160a01b0390911660805260a0526200033b565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000ba575f80fd5b81516001600160401b0380821115620000d757620000d762000096565b604051601f8301601f19908116603f0116810190828211818310171562000102576200010262000096565b81604052838152602092508660208588010111156200011f575f80fd5b5f91505b8382101562000142578582018301518183018401529082019062000123565b5f602085830101528094505050505092915050565b5f805f80608085870312156200016b575f80fd5b84516001600160a01b038116811462000182575f80fd5b6020860151604087015191955093506001600160401b0380821115620001a6575f80fd5b620001b488838901620000aa565b93506060870151915080821115620001ca575f80fd5b50620001d987828801620000aa565b91505092959194509250565b600181811c90821680620001fa57607f821691505b6020821081036200021957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200026a57805f5260205f20601f840160051c81016020851015620002465750805b601f840160051c820191505b8181101562000267575f815560010162000252565b50505b505050565b81516001600160401b038111156200028b576200028b62000096565b620002a3816200029c8454620001e5565b846200021f565b602080601f831160018114620002d9575f8415620002c15750858301515b5f19600386901b1c1916600185901b17855562000333565b5f85815260208120601f198616915b828110156200030957888601518255948401946001909101908401620002e8565b50858210156200032757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05161086c620003875f395f8181610156015281816102a501528181610384015261062101525f81816101b5015281816102cd015281816103ac015261065b015261086c5ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806370a082311161006e57806370a082311461012357806395d89b4114610136578063a9059cbb1461013e578063af640d0f14610151578063dd62ed3e14610178578063fc0c546a146101b0575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd14610101578063313ce56714610114575b5f80fd5b6100b26101ef565b6040516100bf9190610704565b60405180910390f35b6100db6100d636600461076b565b61027f565b60405190151581526020016100bf565b6100f3610296565b6040519081526020016100bf565b6100db61010f366004610793565b610343565b604051601281526020016100bf565b6100f36101313660046107cc565b610366565b6100b261041c565b6100db61014c36600461076b565b61042b565b6100f37f000000000000000000000000000000000000000000000000000000000000000081565b6100f36101863660046107ec565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bf565b6060600380546101fe9061081d565b80601f016020809104026020016040519081016040528092919081815260200182805461022a9061081d565b80156102755780601f1061024c57610100808354040283529160200191610275565b820191905f5260205f20905b81548152906001019060200180831161025857829003601f168201915b5050505050905090565b5f3361028c818585610438565b5060019392505050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561031a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033e9190610855565b905090565b5f3361035085828561044a565b61035b8585856104cb565b506001949350505050565b604051627eeac760e11b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000060248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169062fdd58e90604401602060405180830381865afa1580156103f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104169190610855565b92915050565b6060600480546101fe9061081d565b5f3361028c8185856104cb565b6104458383836001610528565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156104c557818110156104b757604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6104c584848484035f610528565b50505050565b6001600160a01b0383166104f457604051634b637e8f60e11b81525f60048201526024016104ae565b6001600160a01b03821661051d5760405163ec442f0560e01b81525f60048201526024016104ae565b6104458383836105fa565b6001600160a01b0384166105515760405163e602df0560e01b81525f60048201526024016104ae565b6001600160a01b03831661057a57604051634a1406b160e11b81525f60048201526024016104ae565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156104c557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105ec91815260200190565b60405180910390a350505050565b604051637921219560e11b81526001600160a01b03848116600483015283811660248301527f000000000000000000000000000000000000000000000000000000000000000060448301526064820183905260a060848301525f60a48301527f0000000000000000000000000000000000000000000000000000000000000000169063f242432a9060c4015f604051808303815f87803b15801561069c575f80fd5b505af11580156106ae573d5f803e3d5ffd5b50505050816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516106f791815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b8181101561073057858101830151858201604001528201610714565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610766575f80fd5b919050565b5f806040838503121561077c575f80fd5b61078583610750565b946020939093013593505050565b5f805f606084860312156107a5575f80fd5b6107ae84610750565b92506107bc60208501610750565b9150604084013590509250925092565b5f602082840312156107dc575f80fd5b6107e582610750565b9392505050565b5f80604083850312156107fd575f80fd5b61080683610750565b915061081460208401610750565b90509250929050565b600181811c9082168061083157607f821691505b60208210810361084f57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610865575f80fd5b505191905056";
5945
+ var issuerAdapterBytecode = "0x60e060405234801562000010575f80fd5b5060405162000c3e38038062000c3e83398101604081905262000033916200015d565b828260036200004383826200028f565b5060046200005282826200028f565b5050506001600160a01b0385166200007d5760405163c1ab6dc160e01b815260040160405180910390fd5b6001600160a01b03909416608052505060a05260ff1660c0526200035b565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000c0575f80fd5b81516001600160401b0380821115620000dd57620000dd6200009c565b604051601f8301601f19908116603f011681019082821181831017156200010857620001086200009c565b816040528381526020925086602085880101111562000125575f80fd5b5f91505b8382101562000148578582018301518183018401529082019062000129565b5f602085830101528094505050505092915050565b5f805f805f60a0868803121562000172575f80fd5b85516001600160a01b038116811462000189575f80fd5b6020870151604088015191965094506001600160401b0380821115620001ad575f80fd5b620001bb89838a01620000b0565b94506060880151915080821115620001d1575f80fd5b50620001e088828901620000b0565b925050608086015160ff81168114620001f7575f80fd5b809150509295509295909350565b600181811c908216806200021a57607f821691505b6020821081036200023957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028a57805f5260205f20601f840160051c81016020851015620002665750805b601f840160051c820191505b8181101562000287575f815560010162000272565b50505b505050565b81516001600160401b03811115620002ab57620002ab6200009c565b620002c381620002bc845462000205565b846200023f565b602080601f831160018114620002f9575f8415620002e15750858301515b5f19600386901b1c1916600185901b17855562000353565b5f85815260208120601f198616915b82811015620003295788860151825594840194600190910190840162000308565b50858210156200034757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05161088e620003b05f395f61011b01525f8181610178015281816102c7015281816103a6015261064301525f81816101d7015281816102ef015281816103ce015261067d015261088e5ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806370a082311161006e57806370a082311461014557806395d89b4114610158578063a9059cbb14610160578063af640d0f14610173578063dd62ed3e1461019a578063fc0c546a146101d2575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd14610101578063313ce56714610114575b5f80fd5b6100b2610211565b6040516100bf9190610726565b60405180910390f35b6100db6100d636600461078d565b6102a1565b60405190151581526020016100bf565b6100f36102b8565b6040519081526020016100bf565b6100db61010f3660046107b5565b610365565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016100bf565b6100f36101533660046107ee565b610388565b6100b261043e565b6100db61016e36600461078d565b61044d565b6100f37f000000000000000000000000000000000000000000000000000000000000000081565b6100f36101a836600461080e565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bf565b6060600380546102209061083f565b80601f016020809104026020016040519081016040528092919081815260200182805461024c9061083f565b80156102975780601f1061026e57610100808354040283529160200191610297565b820191905f5260205f20905b81548152906001019060200180831161027a57829003601f168201915b5050505050905090565b5f336102ae81858561045a565b5060019392505050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561033c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103609190610877565b905090565b5f3361037285828561046c565b61037d8585856104ed565b506001949350505050565b604051627eeac760e11b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000060248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169062fdd58e90604401602060405180830381865afa158015610414573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104389190610877565b92915050565b6060600480546102209061083f565b5f336102ae8185856104ed565b610467838383600161054a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156104e757818110156104d957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6104e784848484035f61054a565b50505050565b6001600160a01b03831661051657604051634b637e8f60e11b81525f60048201526024016104d0565b6001600160a01b03821661053f5760405163ec442f0560e01b81525f60048201526024016104d0565b61046783838361061c565b6001600160a01b0384166105735760405163e602df0560e01b81525f60048201526024016104d0565b6001600160a01b03831661059c57604051634a1406b160e11b81525f60048201526024016104d0565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156104e757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161060e91815260200190565b60405180910390a350505050565b604051637921219560e11b81526001600160a01b03848116600483015283811660248301527f000000000000000000000000000000000000000000000000000000000000000060448301526064820183905260a060848301525f60a48301527f0000000000000000000000000000000000000000000000000000000000000000169063f242432a9060c4015f604051808303815f87803b1580156106be575f80fd5b505af11580156106d0573d5f803e3d5ffd5b50505050816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161071991815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b8181101561075257858101830151858201604001528201610736565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610788575f80fd5b919050565b5f806040838503121561079e575f80fd5b6107a783610772565b946020939093013593505050565b5f805f606084860312156107c7575f80fd5b6107d084610772565b92506107de60208501610772565b9150604084013590509250925092565b5f602082840312156107fe575f80fd5b61080782610772565b9392505050565b5f806040838503121561081f575f80fd5b61082883610772565b915061083660208401610772565b90509250929050565b600181811c9082168061085357607f821691505b60208210810361087157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610887575f80fd5b505191905056";
5944
5946
  var issuerTokenTraitRegistryBytecode = "0x608060405234801561000f575f80fd5b5061043f8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80632fc74dbb1461004e5780638b3c4278146100765780638c32d3381461008b578063cfdbf2541461009e575b5f80fd5b61006161005c366004610323565b6100b4565b60405190151581526020015b60405180910390f35b610089610084366004610374565b6100f6565b005b6100896100993660046103a6565b61019c565b6100a660c881565b60405190815260200161006d565b5f816100c157505f6100ef565b506001600160a01b0383165f90815260208181526040808320858452825280832084845290915290205460ff165b9392505050565b826101145760405163044145c360e01b815260040160405180910390fd5b816101325760405163661b748960e11b815260040160405180910390fd5b335f818152602081815260408083208784528252808320868452825291829020805460ff191685151590811790915591519182528492869290917fc977b75d21028fb25af9d6050381909d041e2333faf53c683ffec798061e8580910160405180910390a4505050565b825f8190036101be5760405163c2e5347d60e01b815260040160405180910390fd5b60c88111156101ee5760405163bb1cb70b60e01b81526004810182905260c8602482015260440160405180910390fd5b8261020c5760405163661b748960e11b815260040160405180910390fd5b335f5b8281101561031a575f87878381811061022a5761022a61042b565b905060200201350361024f5760405163044145c360e01b815260040160405180910390fd5b6001600160a01b0382165f908152602081905260408120859189898581811061027a5761027a61042b565b9050602002013581526020019081526020015f205f8781526020019081526020015f205f6101000a81548160ff021916908315150217905550848787838181106102c6576102c661042b565b90506020020135836001600160a01b03167fc977b75d21028fb25af9d6050381909d041e2333faf53c683ffec798061e85808760405161030a911515815260200190565b60405180910390a460010161020f565b50505050505050565b5f805f60608486031215610335575f80fd5b83356001600160a01b038116811461034b575f80fd5b95602085013595506040909401359392505050565b8035801515811461036f575f80fd5b919050565b5f805f60608486031215610386575f80fd5b833592506020840135915061039d60408501610360565b90509250925092565b5f805f80606085870312156103b9575f80fd5b843567ffffffffffffffff808211156103d0575f80fd5b818701915087601f8301126103e3575f80fd5b8135818111156103f1575f80fd5b8860208260051b8501011115610405575f80fd5b60209283019650945050850135915061042060408601610360565b905092959194509250565b634e487b7160e01b5f52603260045260245ffd";
5945
5947
 
5946
5948
  // src/transfers/index.ts
@@ -6508,6 +6510,8 @@ function buildIssuerSandboxVaultDeployment(input) {
6508
6510
  };
6509
6511
  }
6510
6512
  function buildIssuerAdapterDeployment(input) {
6513
+ if (!Number.isInteger(input.decimals) || input.decimals < 0 || input.decimals > 255)
6514
+ invalid("decimals must be an integer from 0 to 255.");
6511
6515
  return {
6512
6516
  from: issuerAddress(input.from, "from"),
6513
6517
  chainId: issuerChainId(input.chainId),
@@ -6519,7 +6523,8 @@ function buildIssuerAdapterDeployment(input) {
6519
6523
  issuerAddress(input.token, "token"),
6520
6524
  issuerUint(input.tokenId, "tokenId"),
6521
6525
  input.name,
6522
- input.symbol
6526
+ input.symbol,
6527
+ input.decimals
6523
6528
  ]
6524
6529
  })
6525
6530
  };
@@ -7217,6 +7222,7 @@ var discoveryAbi = viem.parseAbi([
7217
7222
  "function policyType() view returns (bytes32)"
7218
7223
  ]);
7219
7224
  var policyKinds = Object.keys(issuerPolicyTypes);
7225
+ var receiptRetryDelaysMs = [500, 1e3, 2e3];
7220
7226
  function fail(message) {
7221
7227
  throw new OpacityIssuerOperationError("deployment-mismatch", message);
7222
7228
  }
@@ -7378,7 +7384,17 @@ async function resolveIssuerDeployment(input, options) {
7378
7384
  const txHash = hash(token.deployTxHash);
7379
7385
  let receipt = receiptCache.get(txHash);
7380
7386
  if (!receipt) {
7381
- receipt = await client.getTransactionReceipt({ hash: txHash });
7387
+ for (let attempt = 0; ; attempt++) {
7388
+ try {
7389
+ receipt = await client.getTransactionReceipt({ hash: txHash });
7390
+ break;
7391
+ } catch (cause) {
7392
+ const delay = receiptRetryDelaysMs[attempt];
7393
+ if (!(cause instanceof viem.TransactionReceiptNotFoundError) || delay === void 0)
7394
+ throw cause;
7395
+ await new Promise((resolve) => setTimeout(resolve, delay));
7396
+ }
7397
+ }
7382
7398
  receiptCache.set(txHash, receipt);
7383
7399
  }
7384
7400
  if (receipt.status !== "success" || hash(receipt.transactionHash) !== txHash || receipt.blockNumber !== token.deployedAtBlock)
@@ -7551,7 +7567,7 @@ async function resolveIssuerDeployment(input, options) {
7551
7567
  }
7552
7568
 
7553
7569
  // src/issuers/sandbox-deployment.ts
7554
- var { chainId: chainId3, addresses } = chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST;
7570
+ var { chainId: chainId3, addresses } = chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST;
7555
7571
  var SANDBOX_ISSUER_DEPLOYMENT = Object.freeze({
7556
7572
  chainId: chainId3,
7557
7573
  factory: addresses.factory,
@@ -8092,7 +8108,7 @@ function createIssuersNamespace(options = {}) {
8092
8108
  tokenId: input.tokenId,
8093
8109
  account: input.from
8094
8110
  });
8095
- return { transaction, token, decimals: 18, transferEventsComplete: false };
8111
+ return { transaction, token, decimals: input.decimals, transferEventsComplete: false };
8096
8112
  }
8097
8113
  async function sendAdapterDeployment(value) {
8098
8114
  const input = { ...value };
@@ -8458,7 +8474,7 @@ async function prepareSandboxUser(publicClient, params) {
8458
8474
  publicClient,
8459
8475
  chainId: chainId4
8460
8476
  }).getSandboxCapabilities(context);
8461
- const userId = capabilities.userId === viem.zeroHash ? chunkGMPQFX25_cjs.sandboxUserId(wallet) : capabilities.userId;
8477
+ const userId = capabilities.userId === viem.zeroHash ? chunkGUTZXV5S_cjs.sandboxUserId(wallet) : capabilities.userId;
8462
8478
  const blockers = [];
8463
8479
  if (!capabilities.supportsSelfOnboarding || traits.length > 0 && !capabilities.supportsSelfTraits)
8464
8480
  blockers.push("unsupported-sandbox-version");
@@ -9798,135 +9814,135 @@ function restoreSandboxLinkedWallet(input, options) {
9798
9814
 
9799
9815
  Object.defineProperty(exports, "SANDBOX_CHAIN_ID", {
9800
9816
  enumerable: true,
9801
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_CHAIN_ID; }
9817
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_CHAIN_ID; }
9802
9818
  });
9803
9819
  Object.defineProperty(exports, "SANDBOX_DEPLOYMENTS", {
9804
9820
  enumerable: true,
9805
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_DEPLOYMENTS; }
9821
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_DEPLOYMENTS; }
9806
9822
  });
9807
9823
  Object.defineProperty(exports, "SANDBOX_IMPLEMENTATION_VERSION", {
9808
9824
  enumerable: true,
9809
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_IMPLEMENTATION_VERSION; }
9825
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_IMPLEMENTATION_VERSION; }
9810
9826
  });
9811
9827
  Object.defineProperty(exports, "SANDBOX_TRAIT_IDS", {
9812
9828
  enumerable: true,
9813
- get: function () { return chunkGMPQFX25_cjs.SANDBOX_TRAIT_IDS; }
9829
+ get: function () { return chunkGUTZXV5S_cjs.SANDBOX_TRAIT_IDS; }
9814
9830
  });
9815
9831
  Object.defineProperty(exports, "SEPOLIA_CHAIN_ID", {
9816
9832
  enumerable: true,
9817
- get: function () { return chunkGMPQFX25_cjs.SEPOLIA_CHAIN_ID; }
9833
+ get: function () { return chunkGUTZXV5S_cjs.SEPOLIA_CHAIN_ID; }
9818
9834
  });
9819
9835
  Object.defineProperty(exports, "SEPOLIA_SANDBOX_MANIFEST", {
9820
9836
  enumerable: true,
9821
- get: function () { return chunkGMPQFX25_cjs.SEPOLIA_SANDBOX_MANIFEST; }
9837
+ get: function () { return chunkGUTZXV5S_cjs.SEPOLIA_SANDBOX_MANIFEST; }
9822
9838
  });
9823
9839
  Object.defineProperty(exports, "assertDocumentMatchesHash", {
9824
9840
  enumerable: true,
9825
- get: function () { return chunkGMPQFX25_cjs.assertDocumentMatchesHash; }
9841
+ get: function () { return chunkGUTZXV5S_cjs.assertDocumentMatchesHash; }
9826
9842
  });
9827
9843
  Object.defineProperty(exports, "buildAttestDocumentTransaction", {
9828
9844
  enumerable: true,
9829
- get: function () { return chunkGMPQFX25_cjs.buildAttestDocumentTransaction; }
9845
+ get: function () { return chunkGUTZXV5S_cjs.buildAttestDocumentTransaction; }
9830
9846
  });
9831
9847
  Object.defineProperty(exports, "buildDocumentAcceptanceTypedData", {
9832
9848
  enumerable: true,
9833
- get: function () { return chunkGMPQFX25_cjs.buildDocumentAcceptanceTypedData; }
9849
+ get: function () { return chunkGUTZXV5S_cjs.buildDocumentAcceptanceTypedData; }
9834
9850
  });
9835
9851
  Object.defineProperty(exports, "buildSandboxAddSelfTransaction", {
9836
9852
  enumerable: true,
9837
- get: function () { return chunkGMPQFX25_cjs.buildSandboxAddSelfTransaction; }
9853
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxAddSelfTransaction; }
9838
9854
  });
9839
9855
  Object.defineProperty(exports, "buildSandboxRegisterIssuerTransaction", {
9840
9856
  enumerable: true,
9841
- get: function () { return chunkGMPQFX25_cjs.buildSandboxRegisterIssuerTransaction; }
9857
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxRegisterIssuerTransaction; }
9842
9858
  });
9843
9859
  Object.defineProperty(exports, "buildSandboxSetSelfTraitTransaction", {
9844
9860
  enumerable: true,
9845
- get: function () { return chunkGMPQFX25_cjs.buildSandboxSetSelfTraitTransaction; }
9861
+ get: function () { return chunkGUTZXV5S_cjs.buildSandboxSetSelfTraitTransaction; }
9846
9862
  });
9847
9863
  Object.defineProperty(exports, "documentAttestorAbi", {
9848
9864
  enumerable: true,
9849
- get: function () { return chunkGMPQFX25_cjs.documentAttestorAbi; }
9865
+ get: function () { return chunkGUTZXV5S_cjs.documentAttestorAbi; }
9850
9866
  });
9851
9867
  Object.defineProperty(exports, "documentTraitId", {
9852
9868
  enumerable: true,
9853
- get: function () { return chunkGMPQFX25_cjs.documentTraitId; }
9869
+ get: function () { return chunkGUTZXV5S_cjs.documentTraitId; }
9854
9870
  });
9855
9871
  Object.defineProperty(exports, "getSandboxDeployment", {
9856
9872
  enumerable: true,
9857
- get: function () { return chunkGMPQFX25_cjs.getSandboxDeployment; }
9873
+ get: function () { return chunkGUTZXV5S_cjs.getSandboxDeployment; }
9858
9874
  });
9859
9875
  Object.defineProperty(exports, "hashDocument", {
9860
9876
  enumerable: true,
9861
- get: function () { return chunkGMPQFX25_cjs.hashDocument; }
9877
+ get: function () { return chunkGUTZXV5S_cjs.hashDocument; }
9862
9878
  });
9863
9879
  Object.defineProperty(exports, "hashDocumentAcceptance", {
9864
9880
  enumerable: true,
9865
- get: function () { return chunkGMPQFX25_cjs.hashDocumentAcceptance; }
9881
+ get: function () { return chunkGUTZXV5S_cjs.hashDocumentAcceptance; }
9866
9882
  });
9867
9883
  Object.defineProperty(exports, "probeSandboxRegistry", {
9868
9884
  enumerable: true,
9869
- get: function () { return chunkGMPQFX25_cjs.probeSandboxRegistry; }
9885
+ get: function () { return chunkGUTZXV5S_cjs.probeSandboxRegistry; }
9870
9886
  });
9871
9887
  Object.defineProperty(exports, "requireSandboxDeployment", {
9872
9888
  enumerable: true,
9873
- get: function () { return chunkGMPQFX25_cjs.requireSandboxDeployment; }
9889
+ get: function () { return chunkGUTZXV5S_cjs.requireSandboxDeployment; }
9874
9890
  });
9875
9891
  Object.defineProperty(exports, "sandboxAllowlistRegistryAbi", {
9876
9892
  enumerable: true,
9877
- get: function () { return chunkGMPQFX25_cjs.sandboxAllowlistRegistryAbi; }
9893
+ get: function () { return chunkGUTZXV5S_cjs.sandboxAllowlistRegistryAbi; }
9878
9894
  });
9879
9895
  Object.defineProperty(exports, "sandboxUserId", {
9880
9896
  enumerable: true,
9881
- get: function () { return chunkGMPQFX25_cjs.sandboxUserId; }
9897
+ get: function () { return chunkGUTZXV5S_cjs.sandboxUserId; }
9882
9898
  });
9883
9899
  Object.defineProperty(exports, "toEip1193Json", {
9884
9900
  enumerable: true,
9885
- get: function () { return chunkGMPQFX25_cjs.toEip1193Json; }
9901
+ get: function () { return chunkGUTZXV5S_cjs.toEip1193Json; }
9886
9902
  });
9887
9903
  Object.defineProperty(exports, "toEip1193TypedData", {
9888
9904
  enumerable: true,
9889
- get: function () { return chunkGMPQFX25_cjs.toEip1193TypedData; }
9905
+ get: function () { return chunkGUTZXV5S_cjs.toEip1193TypedData; }
9890
9906
  });
9891
9907
  Object.defineProperty(exports, "toEip712Json", {
9892
9908
  enumerable: true,
9893
- get: function () { return chunkGMPQFX25_cjs.toEip712Json; }
9909
+ get: function () { return chunkGUTZXV5S_cjs.toEip712Json; }
9894
9910
  });
9895
9911
  Object.defineProperty(exports, "toEip712JsonPayload", {
9896
9912
  enumerable: true,
9897
- get: function () { return chunkGMPQFX25_cjs.toEip712JsonPayload; }
9913
+ get: function () { return chunkGUTZXV5S_cjs.toEip712JsonPayload; }
9898
9914
  });
9899
9915
  Object.defineProperty(exports, "toEthersTypedData", {
9900
9916
  enumerable: true,
9901
- get: function () { return chunkGMPQFX25_cjs.toEthersTypedData; }
9917
+ get: function () { return chunkGUTZXV5S_cjs.toEthersTypedData; }
9902
9918
  });
9903
9919
  Object.defineProperty(exports, "toJsonRpcTransaction", {
9904
9920
  enumerable: true,
9905
- get: function () { return chunkGMPQFX25_cjs.toJsonRpcTransaction; }
9921
+ get: function () { return chunkGUTZXV5S_cjs.toJsonRpcTransaction; }
9906
9922
  });
9907
9923
  Object.defineProperty(exports, "toSandboxAddSelfWriteContractRequest", {
9908
9924
  enumerable: true,
9909
- get: function () { return chunkGMPQFX25_cjs.toSandboxAddSelfWriteContractRequest; }
9925
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxAddSelfWriteContractRequest; }
9910
9926
  });
9911
9927
  Object.defineProperty(exports, "toSandboxRegisterIssuerWriteContractRequest", {
9912
9928
  enumerable: true,
9913
- get: function () { return chunkGMPQFX25_cjs.toSandboxRegisterIssuerWriteContractRequest; }
9929
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxRegisterIssuerWriteContractRequest; }
9914
9930
  });
9915
9931
  Object.defineProperty(exports, "toSandboxSetSelfTraitWriteContractRequest", {
9916
9932
  enumerable: true,
9917
- get: function () { return chunkGMPQFX25_cjs.toSandboxSetSelfTraitWriteContractRequest; }
9933
+ get: function () { return chunkGUTZXV5S_cjs.toSandboxSetSelfTraitWriteContractRequest; }
9918
9934
  });
9919
9935
  Object.defineProperty(exports, "toViemTypedData", {
9920
9936
  enumerable: true,
9921
- get: function () { return chunkGMPQFX25_cjs.toViemTypedData; }
9937
+ get: function () { return chunkGUTZXV5S_cjs.toViemTypedData; }
9922
9938
  });
9923
9939
  Object.defineProperty(exports, "toWriteContractRequest", {
9924
9940
  enumerable: true,
9925
- get: function () { return chunkGMPQFX25_cjs.toWriteContractRequest; }
9941
+ get: function () { return chunkGUTZXV5S_cjs.toWriteContractRequest; }
9926
9942
  });
9927
9943
  Object.defineProperty(exports, "verifyAttestationSession", {
9928
9944
  enumerable: true,
9929
- get: function () { return chunkGMPQFX25_cjs.verifyAttestationSession; }
9945
+ get: function () { return chunkGUTZXV5S_cjs.verifyAttestationSession; }
9930
9946
  });
9931
9947
  Object.defineProperty(exports, "DOCUMENT_ACCEPTANCE_PRIMARY_TYPE", {
9932
9948
  enumerable: true,
@@ -9974,6 +9990,7 @@ Object.defineProperty(exports, "OpacityIssuerError", {
9974
9990
  });
9975
9991
  exports.DEFAULT_ISSUER_BEACON_VARIANT = DEFAULT_ISSUER_BEACON_VARIANT;
9976
9992
  exports.EMPTY_ISSUER_ENGINE = EMPTY_ISSUER_ENGINE;
9993
+ exports.ISSUER_ADAPTER_CONTRACTS_COMMIT = ISSUER_ADAPTER_CONTRACTS_COMMIT;
9977
9994
  exports.ISSUER_CONTRACTS_COMMIT = ISSUER_CONTRACTS_COMMIT;
9978
9995
  exports.ISSUER_CONTRACTS_PR = ISSUER_CONTRACTS_PR;
9979
9996
  exports.IssuerDenominatorMode = IssuerDenominatorMode;