Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
显示
视图
拆分
统一
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
比对精度
智能
语法
无
更改外观
处理
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
IDL diff
创建于
3年前
差异永不过期
清除
导出
分享
解释
436 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
755 行
全部复制
605 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
900 行
全部复制
{
{
复制
已复制
复制
已复制
"address": "id11111111111111111111111111111111111111111",
"metadata": {
"name": "idl",
复制
已复制
复制
已复制
"version": "0.1.0",
"version": "0.1.0",
"
name
": "
idl"
,
"
description
": "
Created with Anchor"
}
,
"docs": [
"docs": [
"IDL test program documentation."
"IDL test program documentation."
],
],
复制
已复制
复制
已复制
"constants": [
Text moved to lines 894-897
{
"name": "U8",
"type": "u8",
"value": "6"
},
{
"name": "I128",
"type": "i128",
"value": "1_000_000"
},
{
Text moved to lines 885-887
"name": "BYTE_STR",
"type": "u8",
"value": "116"
},
{
Text moved to lines 880-882
"name": "BYTES_STR",
"type": "bytes",
"value": "[116, 101, 115, 116]"
}
],
"instructions": [
"instructions": [
复制
已复制
复制
已复制
{
"name": "cause_error",
"discriminator": [
67,
104,
37,
17,
2,
155,
68,
17
],
"accounts": [],
"args": []
},
{
{
"name": "initialize",
"name": "initialize",
复制
已复制
复制
已复制
"discriminator": [
175,
175,
109,
31,
13,
152,
155,
237
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
复制
已复制
复制
已复制
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
复制
已复制
复制
已复制
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
复制
已复制
复制
已复制
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
复制
已复制
复制
已复制
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
复制
已复制
复制
已复制
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
复制
已复制
复制
已复制
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
复制
已复制
复制
已复制
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
复制
已复制
复制
已复制
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": []
"args": []
},
},
{
{
复制
已复制
复制
已复制
"name": "initialize
W
ith
V
alues",
"name": "initialize
_w
ith
_v
alues",
"docs": [
"docs": [
"Initializes an account with specified values"
"Initializes an account with specified values"
],
],
复制
已复制
复制
已复制
"discriminator": [
220,
73,
8,
213,
178,
69,
181,
141
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
复制
已复制
复制
已复制
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
复制
已复制
复制
已复制
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
复制
已复制
复制
已复制
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
复制
已复制
复制
已复制
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
复制
已复制
复制
已复制
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
复制
已复制
复制
已复制
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
复制
已复制
复制
已复制
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
复制
已复制
复制
已复制
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
复制
已复制
复制
已复制
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
复制
已复制
复制
已复制
"name": "bool
F
ield",
"name": "bool
_f
ield",
"type": "bool"
"type": "bool"
},
},
{
{
复制
已复制
复制
已复制
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
复制
已复制
复制
已复制
"name": "i8
F
ield",
"name": "i8
_f
ield",
"type": "i8"
"type": "i8"
},
},
{
{
复制
已复制
复制
已复制
"name": "u16
F
ield",
"name": "u16
_f
ield",
"type": "u16"
"type": "u16"
},
},
{
{
复制
已复制
复制
已复制
"name": "i16
F
ield",
"name": "i16
_f
ield",
"type": "i16"
"type": "i16"
},
},
{
{
复制
已复制
复制
已复制
"name": "u32
F
ield",
"name": "u32
_f
ield",
"type": "u32"
"type": "u32"
},
},
{
{
复制
已复制
复制
已复制
"name": "i32
F
ield",
"name": "i32
_f
ield",
"type": "i32"
"type": "i32"
},
},
{
{
复制
已复制
复制
已复制
"name": "f32
F
ield",
"name": "f32
_f
ield",
"type": "f32"
"type": "f32"
},
},
{
{
复制
已复制
复制
已复制
"name": "u64
F
ield",
"name": "u64
_f
ield",
"type": "u64"
"type": "u64"
},
},
{
{
复制
已复制
复制
已复制
"name": "i64
F
ield",
"name": "i64
_f
ield",
"type": "i64"
"type": "i64"
},
},
{
{
复制
已复制
复制
已复制
"name": "f64
F
ield",
"name": "f64
_f
ield",
"type": "f64"
"type": "f64"
},
},
{
{
复制
已复制
复制
已复制
"name": "u128
F
ield",
"name": "u128
_f
ield",
"type": "u128"
"type": "u128"
},
},
{
{
复制
已复制
复制
已复制
"name": "i128
F
ield",
"name": "i128
_f
ield",
"type": "i128"
"type": "i128"
},
},
{
{
复制
已复制
复制
已复制
"name": "bytes
F
ield",
"name": "bytes
_f
ield",
"type": "bytes"
"type": "bytes"
},
},
{
{
复制
已复制
复制
已复制
"name": "string
F
ield",
"name": "string
_f
ield",
"type": "string"
"type": "string"
},
},
{
{
复制
已复制
复制
已复制
"name": "pubkey
F
ield",
"name": "pubkey
_f
ield",
"type": "pub
licK
ey"
"type": "pub
k
ey"
},
},
{
{
复制
已复制
复制
已复制
"name": "vec
F
ield",
"name": "vec
_f
ield",
"type": {
"type": {
"vec": "u64"
"vec": "u64"
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "vec
S
truct
F
ield",
"name": "vec
_s
truct
_f
ield",
"type": {
"type": {
"vec": {
"vec": {
复制
已复制
复制
已复制
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "option
F
ield",
"name": "option
_f
ield",
"type": {
"type": {
"option": "bool"
"option": "bool"
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "option
S
truct
F
ield",
"name": "option
_s
truct
_f
ield",
"type": {
"type": {
"option": {
"option": {
复制
已复制
复制
已复制
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "struct
F
ield",
"name": "struct
_f
ield",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "array
F
ield",
"name": "array
_f
ield",
"type": {
"type": {
"array": [
"array": [
"bool",
"bool",
3
3
]
]
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "enum
F
ield
1",
"name": "enum
_f
ield
_
1",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "enum
F
ield
2",
"name": "enum
_f
ield
_
2",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "enum
F
ield
3",
"name": "enum
_f
ield
_
3",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "enum
F
ield
4",
"name": "enum
_f
ield
_
4",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
},
},
{
{
复制
已复制
复制
已复制
"name": "initialize
W
ith
V
alues2",
"name": "initialize
_w
ith
_v
alues2",
"docs": [
"docs": [
"a separate instruction due to initialize_with_values having too many arguments",
"a separate instruction due to initialize_with_values having too many arguments",
"https://github.com/solana-labs/solana/issues/23978"
"https://github.com/solana-labs/solana/issues/23978"
],
],
复制
已复制
复制
已复制
"discriminator": [
248,
190,
21,
97,
239,
148,
39,
181
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
复制
已复制
复制
已复制
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
"name": "payer",
"name": "payer",
复制
已复制
复制
已复制
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
复制
已复制
复制
已复制
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
复制
已复制
复制
已复制
"name": "vec
OfO
ption",
"name": "vec
_of_o
ption",
"type": {
"type": {
"vec": {
"vec": {
"option": "u64"
"option": "u64"
}
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "box
F
ield",
"name": "box
_f
ield",
"type": "bool"
"type": "bool"
}
}
],
],
"returns": {
"returns": {
复制
已复制
复制
已复制
"defined"
: "SomeRetStruct"
"defined"
: {
"name"
: "SomeRetStruct"
}
}
}
复制
已复制
复制
已复制
},
{
"name": "causeError",
"accounts": [],
"args": []
}
}
],
],
"accounts": [
"accounts": [
复制
已复制
复制
已复制
{
"name": "SomeZcAccount",
"discriminator": [
56,
72,
82,
194,
210,
35,
17,
191
]
},
{
{
"name": "State",
"name": "State",
复制
已复制
复制
已复制
"discriminator": [
216,
146,
107,
94,
104,
75,
182,
177
Text moved with changes from lines 646-649 (66.7% similarity)
]
},
{
"name": "State2",
"discriminator": [
106,
97,
255,
161,
250,
205,
185,
192
]
Text moved from lines 711-713
}
],
"events": [
{
"name": "SomeEvent",
"discriminator": [
39,
221,
150,
148,
91,
206,
29,
93
]
}
],
"errors": [
{
Text moved from lines 741-743
"code": 6000,
"name": "SomeError",
"msg": "Example error."
},
{
Text moved from lines 746-748
"code": 6001,
"name": "OtherError",
"msg": "Another error."
},
{
"code": 6002,
"name": "ErrorWithoutMsg"
Text moved from lines 525-527
}
],
"types": [
{
"name": "BarStruct",
"docs": [
"docs": [
复制
已复制
复制
已复制
"
An account containing various fields
"
"
Bar struct type
"
],
],
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
复制
已复制
复制
已复制
"name": "
boolField
",
"name": "
some_field
",
"docs": [
"docs": [
复制
已复制
复制
已复制
"
A boolean
field"
"
Some
field"
],
],
"type": "bool"
"type": "bool"
},
},
{
{
复制
已复制
复制
已复制
"name": "
u8F
ield",
"name": "
other_f
ield",
"type": "u8"
"type": "u8"
复制
已复制
复制
已复制
},
}
{
]
Text moved with changes to lines 678-734 (98.6% similarity)
"name": "i8Field",
"type": "i8"
},
{
"name": "u16Field",
"type": "u16"
},
{
"name": "i16Field",
"type": "i16"
},
{
"name": "u32Field",
"type": "u32"
},
{
"name": "i32Field",
"type": "i32"
},
{
"name": "f32Field",
"type": "f32"
},
{
"name": "u64Field",
"type": "u64"
},
{
"name": "i64Field",
"type": "i64"
},
{
"name": "f64Field",
"type": "f64"
},
{
"name": "u128Field",
"type": "u128"
},
{
"name": "i128Field",
"type": "i128"
},
{
"name": "bytesField",
"type": "bytes"
},
{
"name": "stringField",
"type": "string"
},
{
"name": "pubkeyField",
"type": "publicKey"
},
{
"name": "vecField",
"type": {
"vec": "u64"
}
}
},
},
{
{
Text moved from lines 631-634
"name": "
vecStructField"
,
"name": "
FooEnum",
"docs": [
"Enum type"
]
,
"type": {
"type": {
Text moved from lines 636-639
"vec": {
"kind": "enum",
"defined":
"Foo
Struct"
"variants": [
{
"name": "Unnamed",
"fields": [
"bool",
"u8",
{
"defined":
{
"name": "Bar
Struct"
}
}
}
}
复制
已复制
复制
已复制
]
},
},
{
{
复制
已复制
复制
已复制
Text moved with changes to lines 750-754 (99.1% similarity)
"name": "
optionField
",
"name": "
UnnamedSingle
",
"
type": {
"
fields
":
[
"option
":
"bool"
}
},
{
{
"name": "optionStructField",
"defined":
{
"type": {
"name": "Bar
Struct"
"option": {
"defined":
"Foo
Struct"
}
}
}
}
复制
已复制
复制
已复制
},
{
"name": "structField",
"type": {
"defined": "FooStruct"
Text moved with changes to lines 771-778 (99.4% similarity)
}
},
{
"name": "arrayField",
"type": {
"array": [
"bool",
3
复制
已复制
复制
已复制
]
]
复制
已复制
复制
已复制
}
},
},
{
{
复制
已复制
复制
已复制
"name": "
enumField1
",
"name": "
Named
",
"
type": {
"
fields
":
[
"defined
":
"FooEnum"
}
},
{
{
"name": "
enumField2
",
"name": "
bool_field
",
"
type
":
{
"
docs
":
[
"
defined": "FooEnum
"
"
A bool field inside a struct tuple kind
"
}
],
"type": "bool"
},
},
{
{
"name": "
enumField3
",
"name": "
u8_field
",
"type":
{
"type":
"u8"
"defined": "FooEnum"
}
},
},
{
{
"name": "
enumField4
",
"name": "
nested
",
"type": {
"type": {
"defined":
"FooEnum"
"defined":
{
"name": "BarStruct"
}
}
}
}
}
]
]
复制
已复制
复制
已复制
}
复制
已复制
复制
已复制
},
},
{
{
Text moved to lines 818-820
"name": "
State2",
"name": "
Struct
",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
"name": "vecOfOption",
"defined
": {
"type": {
"
name
": "
BarStruct
"
"vec
": {
"
option
": "
u64
"
}
}
复制
已复制
复制
已复制
Text moved with changes to lines 737-741 (92.4% similarity)
}
},
{
"name": "boxField",
"type": "bool"
复制
已复制
复制
已复制
}
}
]
]
复制
已复制
复制
已复制
}
复制
已复制
复制
已复制
},
},
{
{
"name": "
SomeZcAccount",
"name": "
OptionStruct
",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
"
name
":
"field",
"
option
":
{
"
type
": {
"
defined
": {
"
defined
": "
Zc
Struct"
"
name
": "
Bar
Struct"
}
}
}
}
}
]
]
}
}
,
Text moved to lines 427-429
}
],
"types": [
{
{
"name": "
My
Struct",
"name": "
Vec
Struct",
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "
someU8",
"vec": {
"type": "u8"
"defined": {
"name": "
BarStruct"
}
}
}
}
]
]
复制
已复制
复制
已复制
Text moved with changes to lines 763-766 (67.8% similarity)
}
},
{
"name": "BarStruct",
"docs": [
"Bar struct type"
Text moved to lines 662-664
],
"type": {
"kind": "struct",
"fields": [
{
"name": "someField",
"docs": [
"Some field"
],
"type": "bool"
},
},
{
{
复制
已复制
复制
已复制
"name": "
other
Field
",
"name": "
No
Field
s
"
"type": "u8
"
}
}
]
]
}
}
},
},
{
{
"name": "FooStruct",
"name": "FooStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "field1",
"name": "field1",
"type": "u8"
"type": "u8"
},
},
{
{
"name": "field2",
"name": "field2",
"type": "u16"
"type": "u16"
},
},
{
{
"name": "nested",
"name": "nested",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "vec
N
ested",
"name": "vec
_n
ested",
"type": {
"type": {
"vec": {
"vec": {
复制
已复制
复制
已复制
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "option
N
ested",
"name": "option
_n
ested",
"type": {
"type": {
"option": {
"option": {
复制
已复制
复制
已复制
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "enum
F
ield",
"name": "enum
_f
ield",
"type": {
"type": {
复制
已复制
复制
已复制
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
}
}
},
},
{
{
复制
已复制
复制
已复制
"name": "
ZcStruct
",
"name": "
SomeEvent
",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
复制
已复制
复制
已复制
"name": "
someField
",
"name": "
bool_field
",
"type": "
u16"
"type": "
bool"
},
{
"name": "external_my_struct",
"type": {
"defined": {
"name": "external::MyStruct"
}
}
},
{
"name": "other_module_my_struct",
"type": {
"defined": {
"name": "idl::some_other_module::MyStruct"
}
}
}
}
]
]
}
}
},
},
{
{
"name": "SomeRetStruct",
"name": "SomeRetStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
复制
已复制
复制
已复制
"name": "some
F
ield",
"name": "some
_f
ield",
"type": "u8"
"type": "u8"
}
}
]
]
}
}
},
},
{
{
复制
已复制
复制
已复制
Text moved to lines 453-456
"name": "
FooEnum
",
"name": "
SomeZcAccount
",
"
docs
":
[
"
serialization": "bytemuck",
"
Enum type
"
"repr
":
{
]
,
"
kind": "c
"
}
,
"type": {
"type": {
复制
已复制
复制
已复制
Text moved to lines 458-461
"kind": "
enum",
"kind": "
struct
",
"variants": [
{
"name": "Unnamed
",
"fields": [
"fields": [
复制
已复制
复制
已复制
"bool",
"u8",
复制
已复制
复制
已复制
{
{
"defined":
"BarStruct
"
"name": "field",
"type": {
"defined":
{
"name": "ZcStruct
"
}
}
复制
已复制
复制
已复制
Text moved with changes to lines 382-385 (66.7% similarity)
]
}
},
{
"name": "UnnamedSingle",
"fields": [
{
"defined": "BarStruct"
}
}
]
]
复制
已复制
复制
已复制
}
复制
已复制
复制
已复制
},
},
{
{
"name": "
Named",
"name": "
State",
"docs": [
"An account containing various fields"
Text moved from lines 544-546
],
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "bool
F
ield",
"name": "bool
_f
ield",
"docs": [
"docs": [
"A bool
field
inside a struct tuple kind
"
"A bool
ean
field
"
],
],
"type": "bool"
"type": "bool"
},
},
{
{
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
Text moved with changes from lines 367-423 (98.6% similarity)
"name":
"nested",
"name":
"i8_field",
"type": "i8"
},
{
"name": "u16_field",
"type": "u16"
},
{
"name": "i16_field",
"type": "i16"
},
{
"name": "u32_field",
"type": "u32"
},
{
"name": "i32_field",
"type": "i32"
},
{
"name": "f32_field",
"type": "f32"
},
{
"name": "u64_field",
"type": "u64"
},
{
"name": "i64_field",
"type": "i64"
},
{
"name": "f64_field",
"type": "f64"
},
{
"name": "u128_field",
"type": "u128"
},
{
"name": "i128_field",
"type": "i128"
},
{
"name": "bytes_field",
"type": "bytes"
},
{
"name": "string_field",
"type": "string"
},
{
"name": "pubkey_field",
"type": "pubkey"
},
{
"name": "vec_field",
"type": {
"type": {
"defined":
"BarStruct
"
"vec": "u64"
Text moved with changes from lines 503-507 (92.4% similarity)
}
},
{
"name": "vec_struct_field",
"type": {
"vec": {
"defined":
{
"name": "FooStruct
"
}
}
}
}
复制
已复制
复制
已复制
]
}
},
},
{
{
复制
已复制
复制
已复制
Text moved with changes from lines 437-441 (99.1% similarity)
"name": "
Struct
",
"name": "
option_field
",
"
fields
":
[
"
type
":
{
"option": "bool"
}
},
{
{
"defined": "BarStruct"
"name": "option_struct_field",
"type": {
"option": {
"defined": {
"name": "FooStruct"
}
}
Text moved with changes from lines 538-541 (67.8% similarity)
}
},
{
"name": "struct_field",
"type": {
"defined": {
"name": "FooStruct"
}
}
复制
已复制
复制
已复制
Text moved with changes from lines 454-461 (99.4% similarity)
}
},
{
"name": "array_field",
"type": {
"array": [
"bool",
3
复制
已复制
复制
已复制
]
]
复制
已复制
复制
已复制
}
},
},
{
{
复制
已复制
复制
已复制
"name": "
OptionStruct
",
"name": "
enum_field_1
",
"
fields
":
[
"
type": {
"defined
":
{
"name": "FooEnum"
}
}
},
{
{
"option": {
"name": "enum_field_2",
"defined": "BarStruct"
"type": {
"defined": {
"name": "FooEnum"
}
}
},
{
"name": "enum_field_3",
"type": {
"defined": {
"name": "FooEnum"
}
}
},
{
"name": "enum_field_4",
"type": {
"defined": {
"name": "FooEnum"
}
}
}
}
}
]
]
复制
已复制
复制
已复制
}
复制
已复制
复制
已复制
},
},
{
{
Text moved from lines 493-495
"name": "
VecStruct
",
"name": "
State2",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
复制
已复制
复制
已复制
"name": "vec_of_option",
"type": {
复制
已复制
复制
已复制
"vec": {
"vec": {
"
defined
": "
BarStruct
"
"
option
": "
u64
"
}
}
}
}
复制
已复制
复制
已复制
]
},
},
{
{
复制
已复制
复制
已复制
"name": "
NoFields
"
"name": "
box_field",
"type": "bool
"
}
}
]
]
}
}
复制
已复制
复制
已复制
Text moved to lines 396-398
}
}
,
],
"events": [
{
{
复制
已复制
复制
已复制
"name": "
SomeEvent",
"name": "
ZcStruct",
"serialization": "bytemuck",
"repr": {
"kind": "c"
},
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "
boolField
",
"name": "
some_field
",
"type": "
bool",
"type": "
u16"
"index": false
}
]
}
},
},
{
{
"name": "external
MyStruct",
"name": "external
::
MyStruct",
"type": {
"type": {
"
defined
": "
external::MyStruct
"
"kind": "struct",
}
,
"fields": [
"index": false
{
"
name
": "
some_field",
"type": "u8
"
}
]
}
},
},
{
{
"name": "
other
M
odule
MyStruct",
"name": "
idl::some_
other
_m
odule
::
MyStruct",
"type": {
"type": {
"defined": "some_other_module::MyStruct"
"kind": "struct",
},
"fields": [
"index": false
{
"name": "some_u8",
"type": "u8"
}
}
]
]
复制
已复制
复制
已复制
}
}
}
],
],
复制
已复制
复制
已复制
"
errors
": [
"
constants
": [
{
{
复制
已复制
复制
已复制
Text moved to lines 415-417
Text moved from lines 24-26
"code": 6000,
"name": "
BYTES_STR
",
"name": "
SomeError
",
"
type
": "
bytes",
"
msg
": "
Example error.
"
"value": "[116, 101, 115, 116]
"
},
},
{
{
复制
已复制
复制
已复制
Text moved to lines 420-422
Text moved from lines 19-21
"code": 6001,
"name": "
BYTE_STR
",
"name": "
OtherError
",
"
type
": "
u8",
"
msg
": "
Another error.
"
"value": "116
"
},
},
{
{
复制
已复制
复制
已复制
"code": 6002,
"name": "
I128",
"name": "
ErrorWithoutMsg"
"type": "i128",
"value": "1000000"
},
Text moved from lines 8-11
{
"name": "U8",
"type": "u8",
"value": "6"
}
}
]
]
}
}
已保存差异
原始文本
打开文件
{ "version": "0.1.0", "name": "idl", "docs": [ "IDL test program documentation." ], "constants": [ { "name": "U8", "type": "u8", "value": "6" }, { "name": "I128", "type": "i128", "value": "1_000_000" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" } ], "instructions": [ { "name": "initialize", "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "initializeWithValues", "docs": [ "Initializes an account with specified values" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "boolField", "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] }, { "name": "initializeWithValues2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ], "returns": { "defined": "SomeRetStruct" } }, { "name": "causeError", "accounts": [], "args": [] } ], "accounts": [ { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "boolField", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ] } }, { "name": "SomeZcAccount", "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": "ZcStruct" } } ] } } ], "types": [ { "name": "MyStruct", "type": { "kind": "struct", "fields": [ { "name": "someU8", "type": "u8" } ] } }, { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "someField", "docs": [ "Some field" ], "type": "bool" }, { "name": "otherField", "type": "u8" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": "BarStruct" } }, { "name": "vecNested", "type": { "vec": { "defined": "BarStruct" } } }, { "name": "optionNested", "type": { "option": { "defined": "BarStruct" } } }, { "name": "enumField", "type": { "defined": "FooEnum" } } ] } }, { "name": "ZcStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u16" } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": "BarStruct" } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": "BarStruct" } ] }, { "name": "Named", "fields": [ { "name": "boolField", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "nested", "type": { "defined": "BarStruct" } } ] }, { "name": "Struct", "fields": [ { "defined": "BarStruct" } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": "BarStruct" } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": "BarStruct" } } ] }, { "name": "NoFields" } ] } } ], "events": [ { "name": "SomeEvent", "fields": [ { "name": "boolField", "type": "bool", "index": false }, { "name": "externalMyStruct", "type": { "defined": "external::MyStruct" }, "index": false }, { "name": "otherModuleMyStruct", "type": { "defined": "some_other_module::MyStruct" }, "index": false } ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ] }
更改后文本
打开文件
{ "address": "id11111111111111111111111111111111111111111", "metadata": { "name": "idl", "version": "0.1.0", "description": "Created with Anchor" }, "docs": [ "IDL test program documentation." ], "instructions": [ { "name": "cause_error", "discriminator": [ 67, 104, 37, 17, 2, 155, 68, 17 ], "accounts": [], "args": [] }, { "name": "initialize", "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [] }, { "name": "initialize_with_values", "docs": [ "Initializes an account with specified values" ], "discriminator": [ 220, 73, 8, 213, 178, 69, 181, 141 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "bool_field", "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] }, { "name": "initialize_with_values2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "discriminator": [ 248, 190, 21, 97, 239, 148, 39, 181 ], "accounts": [ { "name": "state", "writable": true, "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ], "returns": { "defined": { "name": "SomeRetStruct" } } } ], "accounts": [ { "name": "SomeZcAccount", "discriminator": [ 56, 72, 82, 194, 210, 35, 17, 191 ] }, { "name": "State", "discriminator": [ 216, 146, 107, 94, 104, 75, 182, 177 ] }, { "name": "State2", "discriminator": [ 106, 97, 255, 161, 250, 205, 185, 192 ] } ], "events": [ { "name": "SomeEvent", "discriminator": [ 39, 221, 150, 148, 91, 206, 29, 93 ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ], "types": [ { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "some_field", "docs": [ "Some field" ], "type": "bool" }, { "name": "other_field", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": { "name": "BarStruct" } } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "Named", "fields": [ { "name": "bool_field", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } } ] }, { "name": "Struct", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": { "name": "BarStruct" } } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": { "name": "BarStruct" } } } ] }, { "name": "NoFields" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } }, { "name": "vec_nested", "type": { "vec": { "defined": { "name": "BarStruct" } } } }, { "name": "option_nested", "type": { "option": { "defined": { "name": "BarStruct" } } } }, { "name": "enum_field", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "SomeEvent", "type": { "kind": "struct", "fields": [ { "name": "bool_field", "type": "bool" }, { "name": "external_my_struct", "type": { "defined": { "name": "external::MyStruct" } } }, { "name": "other_module_my_struct", "type": { "defined": { "name": "idl::some_other_module::MyStruct" } } } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "SomeZcAccount", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": { "name": "ZcStruct" } } } ] } }, { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "bool_field", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ] } }, { "name": "ZcStruct", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u16" } ] } }, { "name": "external::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "idl::some_other_module::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_u8", "type": "u8" } ] } } ], "constants": [ { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "I128", "type": "i128", "value": "1000000" }, { "name": "U8", "type": "u8", "value": "6" } ] }
查找差异